mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
Qt6, bump to (disabled) 6.10.2 (#13862)
This commit is contained in:
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qt3d-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="521dd56d40873d37b2dd9ca95181037b833a07c48aed5db44efcba83a4716cc2"
|
||||
CHECKSUM_SHA256="febbca9d491feca0fa2d770e912590b4ef18e461f739ca6e855ea62a488bbb6d"
|
||||
SOURCE_DIR="qt3d-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -28,6 +28,7 @@ PROVIDES="
|
||||
lib:libQt63DInput$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt63DLogic$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt63DQuick$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt63DQuickLogic$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt63DQuickAnimation$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt63DQuickExtras$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt63DQuickInput$secondaryArchSuffix = $libVersionCompat
|
||||
@@ -58,6 +59,7 @@ PROVIDES_devel="
|
||||
devel:libQt63DInput$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt63DLogic$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt63DQuick$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt63DQuickLogic$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt63DQuickAnimation$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt63DQuickExtras$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt63DQuickInput$secondaryArchSuffix = $libVersionCompat
|
||||
@@ -73,8 +75,6 @@ REQUIRES_devel="
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libcrypto$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libQt6Core$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Gui$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Multimedia$secondaryArchSuffix == $portVersion
|
||||
@@ -82,8 +82,6 @@ BUILD_REQUIRES="
|
||||
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
@@ -91,7 +89,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -132,6 +129,7 @@ INSTALL()
|
||||
libQt63DInput \
|
||||
libQt63DLogic \
|
||||
libQt63DQuick \
|
||||
libQt63DQuickLogic \
|
||||
libQt63DQuickAnimation \
|
||||
libQt63DQuickExtras \
|
||||
libQt63DQuickInput \
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qt5compat-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="55be0539d3a12071fbe0cd57af17d6dc3fc52578b1649824975e26301f710763"
|
||||
CHECKSUM_SHA256="3fa418f0fac02eb9efc5f762fbe25f20647b0ebb7fa92faf07e6de85044161c2"
|
||||
SOURCE_DIR="qt5compat-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -71,7 +71,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -1,19 +0,0 @@
|
||||
diff --git a/src/corelib/io/qdataurl.cpp b/src/corelib/io/qdataurl.cpp
|
||||
index 65b934b3f67..c5ecca8fb82 100644
|
||||
--- a/src/corelib/io/qdataurl.cpp
|
||||
+++ b/src/corelib/io/qdataurl.cpp
|
||||
@@ -47,10 +47,10 @@ Q_CORE_EXPORT bool qDecodeDataUrl(const QUrl &uri, QString &mimeType, QByteArray
|
||||
QLatin1StringView textPlain;
|
||||
constexpr auto charset = "charset"_L1;
|
||||
if (QLatin1StringView{data}.startsWith(charset, Qt::CaseInsensitive)) {
|
||||
- qsizetype i = charset.size();
|
||||
- while (data.at(i) == ' ')
|
||||
- ++i;
|
||||
- if (data.at(i) == '=')
|
||||
+ QByteArrayView copy = data.sliced(charset.size());
|
||||
+ while (copy.startsWith(' '))
|
||||
+ copy.slice(1);
|
||||
+ if (copy.startsWith('='))
|
||||
textPlain = "text/plain;"_L1;
|
||||
}
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
diff --git a/src/network/access/qabstractprotocolhandler_p.h b/src/network/access/qabstractprotocolhandler_p.h
|
||||
index da5eaeeb74c4..42925a169d34 100644
|
||||
--- a/src/network/access/qabstractprotocolhandler_p.h
|
||||
+++ b/src/network/access/qabstractprotocolhandler_p.h
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
#include <QtNetwork/private/qtnetworkglobal_p.h>
|
||||
|
||||
+#include <QtCore/qtpreprocessorsupport.h>
|
||||
+
|
||||
QT_REQUIRE_CONFIG(http);
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -34,6 +36,13 @@ public:
|
||||
virtual void _q_receiveReply() = 0;
|
||||
virtual void _q_readyRead() = 0;
|
||||
virtual bool sendRequest() = 0;
|
||||
+ // Called when the reply is being destroyed and removing itself from any other internals
|
||||
+ virtual bool tryRemoveReply(QHttpNetworkReply *reply)
|
||||
+ {
|
||||
+ Q_UNUSED(reply);
|
||||
+ // base implementation is a noop
|
||||
+ return false;
|
||||
+ }
|
||||
void setReply(QHttpNetworkReply *reply);
|
||||
|
||||
protected:
|
||||
diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp
|
||||
index 87dc504ee126..a99921f52881 100644
|
||||
--- a/src/network/access/qhttp2protocolhandler.cpp
|
||||
+++ b/src/network/access/qhttp2protocolhandler.cpp
|
||||
@@ -151,15 +151,6 @@ void QHttp2ProtocolHandler::handleConnectionClosure()
|
||||
h2Connection->handleConnectionClosure();
|
||||
}
|
||||
|
||||
-void QHttp2ProtocolHandler::_q_replyDestroyed(QObject *reply)
|
||||
-{
|
||||
- QPointer<QHttp2Stream> stream = streamIDs.take(reply);
|
||||
- requestReplyPairs.remove(stream);
|
||||
- QObject::disconnect(stream, nullptr, this, nullptr);
|
||||
- if (stream && stream->isActive())
|
||||
- stream->sendRST_STREAM(CANCEL);
|
||||
-}
|
||||
-
|
||||
void QHttp2ProtocolHandler::_q_uploadDataDestroyed(QObject *uploadData)
|
||||
{
|
||||
QPointer<QHttp2Stream> stream = streamIDs.take(uploadData);
|
||||
@@ -262,6 +253,25 @@ bool QHttp2ProtocolHandler::sendRequest()
|
||||
return true;
|
||||
}
|
||||
|
||||
+/*!
|
||||
+ \internal
|
||||
+ This gets called during destruction of \a reply, so do not call any functions
|
||||
+ on \a reply. We check if there is a stream associated with the reply and,
|
||||
+ if there is, we remove the request-reply pair associated with this stream,
|
||||
+ delete the stream and return \c{true}. Otherwise nothing happens and we
|
||||
+ return \c{false}.
|
||||
+*/
|
||||
+bool QHttp2ProtocolHandler::tryRemoveReply(QHttpNetworkReply *reply)
|
||||
+{
|
||||
+ QHttp2Stream *stream = streamIDs.take(reply);
|
||||
+ if (stream) {
|
||||
+ requestReplyPairs.remove(stream);
|
||||
+ stream->deleteLater();
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
bool QHttp2ProtocolHandler::sendHEADERS(QHttp2Stream *stream, QHttpNetworkRequest &request)
|
||||
{
|
||||
using namespace HPack;
|
||||
@@ -623,8 +633,6 @@ void QHttp2ProtocolHandler::connectStream(const HttpMessagePair &message, QHttp2
|
||||
auto *replyPrivate = reply->d_func();
|
||||
replyPrivate->connection = m_connection;
|
||||
replyPrivate->connectionChannel = m_channel;
|
||||
- connect(reply, &QObject::destroyed, this, &QHttp2ProtocolHandler::_q_replyDestroyed,
|
||||
- Qt::UniqueConnection);
|
||||
|
||||
reply->setHttp2WasUsed(true);
|
||||
QPointer<QHttp2Stream> &oldStream = streamIDs[reply];
|
||||
diff --git a/src/network/access/qhttp2protocolhandler_p.h b/src/network/access/qhttp2protocolhandler_p.h
|
||||
index ecbc6823dcfd..aca8a0b6f66b 100644
|
||||
--- a/src/network/access/qhttp2protocolhandler_p.h
|
||||
+++ b/src/network/access/qhttp2protocolhandler_p.h
|
||||
@@ -61,7 +61,6 @@ public:
|
||||
Q_INVOKABLE void handleConnectionClosure();
|
||||
|
||||
private slots:
|
||||
- void _q_replyDestroyed(QObject *reply);
|
||||
void _q_uploadDataDestroyed(QObject *uploadData);
|
||||
|
||||
private:
|
||||
@@ -70,6 +69,7 @@ private:
|
||||
void _q_readyRead() override;
|
||||
Q_INVOKABLE void _q_receiveReply() override;
|
||||
Q_INVOKABLE bool sendRequest() override;
|
||||
+ bool tryRemoveReply(QHttpNetworkReply *reply) override;
|
||||
|
||||
bool sendSETTINGS_ACK();
|
||||
bool sendHEADERS(QHttp2Stream *stream, QHttpNetworkRequest &request);
|
||||
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
|
||||
index cf7aad1930de..4f105af084a8 100644
|
||||
--- a/src/network/access/qhttpnetworkconnection.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnection.cpp
|
||||
@@ -1002,6 +1002,13 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply)
|
||||
QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection);
|
||||
return;
|
||||
}
|
||||
+ // Check if the h2 protocol handler already started processing it
|
||||
+ if ((connectionType == QHttpNetworkConnection::ConnectionTypeHTTP2Direct
|
||||
+ || channels[i].switchedToHttp2)
|
||||
+ && channels[i].protocolHandler) {
|
||||
+ if (channels[i].protocolHandler->tryRemoveReply(reply))
|
||||
+ return;
|
||||
+ }
|
||||
}
|
||||
// remove from the high priority queue
|
||||
if (!highPriorityQueue.isEmpty()) {
|
||||
@@ -1,36 +0,0 @@
|
||||
diff --git a/src/gui/painting/qcolortransfergeneric_p.h b/src/gui/painting/qcolortransfergeneric_p.h
|
||||
index 6caebceb1a4c..c2ebd937a445 100644
|
||||
--- a/src/gui/painting/qcolortransfergeneric_p.h
|
||||
+++ b/src/gui/painting/qcolortransfergeneric_p.h
|
||||
@@ -65,6 +65,7 @@ private:
|
||||
// HLG from linear [0-12] -> [0-1]
|
||||
static float hlgFromLinear(float x)
|
||||
{
|
||||
+ x = std::clamp(x, 0.f, 12.f);
|
||||
if (x > 1.f)
|
||||
return m_hlg_a * std::log(x - m_hlg_b) + m_hlg_c;
|
||||
return std::sqrt(x * 0.25f);
|
||||
@@ -73,6 +74,7 @@ private:
|
||||
// HLG to linear [0-1] -> [0-12]
|
||||
static float hlgToLinear(float x)
|
||||
{
|
||||
+ x = std::clamp(x, 0.f, 1.f);
|
||||
if (x < 0.5f)
|
||||
return (x * x) * 4.f;
|
||||
return std::exp((x - m_hlg_c) / m_hlg_a) + m_hlg_b;
|
||||
@@ -86,6 +88,7 @@ private:
|
||||
// PQ to linear [0-1] -> [0-64]
|
||||
static float pqToLinear(float e)
|
||||
{
|
||||
+ e = std::clamp(e, 0.f, 1.f);
|
||||
// m2-th root of E'
|
||||
const float eRoot = std::pow(e, 1.f / m_pq_m2);
|
||||
// rational transform
|
||||
@@ -99,6 +102,7 @@ private:
|
||||
// PQ from linear [0-64] -> [0-1]
|
||||
static float pqFromLinear(float fd)
|
||||
{
|
||||
+ fd = std::clamp(fd, 0.f, 64.f);
|
||||
// scale Fd to Y
|
||||
const float y = fd * (1.f / m_pq_f);
|
||||
// yRoot = Y^m1 -- "root" because m1 is <1
|
||||
@@ -1,263 +0,0 @@
|
||||
diff --git a/src/plugins/tls/schannel/qtls_schannel.cpp b/src/plugins/tls/schannel/qtls_schannel.cpp
|
||||
index 617e070025e6..7e6a372347e0 100644
|
||||
--- a/src/plugins/tls/schannel/qtls_schannel.cpp
|
||||
+++ b/src/plugins/tls/schannel/qtls_schannel.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "qtlskey_schannel_p.h"
|
||||
#include "qx509_schannel_p.h"
|
||||
#include "qtls_schannel_p.h"
|
||||
+#include "../shared/qasn1element_p.h"
|
||||
|
||||
#include <QtNetwork/private/qsslcertificate_p.h>
|
||||
#include <QtNetwork/private/qsslcipher_p.h>
|
||||
@@ -126,8 +127,9 @@ using namespace Qt::StringLiterals;
|
||||
Q_LOGGING_CATEGORY(lcTlsBackendSchannel, "qt.tlsbackend.schannel");
|
||||
|
||||
// Defined in qsslsocket_qt.cpp.
|
||||
-QByteArray _q_makePkcs12(const QList<QSslCertificate> &certs, const QSslKey &key,
|
||||
+extern QByteArray _q_makePkcs12(const QList<QSslCertificate> &certs, const QSslKey &key,
|
||||
const QString &passPhrase);
|
||||
+extern QAsn1Element _q_PKCS12_key(const QSslKey &key);
|
||||
|
||||
namespace {
|
||||
bool supportsTls13();
|
||||
@@ -1008,7 +1010,6 @@ TlsCryptographSchannel::~TlsCryptographSchannel()
|
||||
closeCertificateStores();
|
||||
deallocateContext();
|
||||
freeCredentialsHandle();
|
||||
- CertFreeCertificateContext(localCertContext);
|
||||
}
|
||||
|
||||
void TlsCryptographSchannel::init(QSslSocket *qObj, QSslSocketPrivate *dObj)
|
||||
@@ -1103,12 +1104,6 @@ bool TlsCryptographSchannel::acquireCredentialsHandle()
|
||||
return false;
|
||||
}
|
||||
|
||||
- const CERT_CHAIN_CONTEXT *chainContext = nullptr;
|
||||
- auto freeCertChain = qScopeGuard([&chainContext]() {
|
||||
- if (chainContext)
|
||||
- CertFreeCertificateChain(chainContext);
|
||||
- });
|
||||
-
|
||||
DWORD certsCount = 0;
|
||||
// Set up our certificate stores before trying to use one...
|
||||
initializeCertificateStores();
|
||||
@@ -1119,36 +1114,11 @@ bool TlsCryptographSchannel::acquireCredentialsHandle()
|
||||
if (!configuration.localCertificateChain().isEmpty() && !localCertificateStore)
|
||||
return true; // 'true' because "tst_QSslSocket::setEmptyKey" expects us to not disconnect
|
||||
|
||||
+ PCCERT_CONTEXT localCertificate = nullptr;
|
||||
if (localCertificateStore != nullptr) {
|
||||
- CERT_CHAIN_FIND_BY_ISSUER_PARA findParam;
|
||||
- ZeroMemory(&findParam, sizeof(findParam));
|
||||
- findParam.cbSize = sizeof(findParam);
|
||||
- findParam.pszUsageIdentifier = isClient ? szOID_PKIX_KP_CLIENT_AUTH : szOID_PKIX_KP_SERVER_AUTH;
|
||||
-
|
||||
- // There should only be one chain in our store, so.. we grab that one.
|
||||
- chainContext = CertFindChainInStore(localCertificateStore.get(),
|
||||
- X509_ASN_ENCODING,
|
||||
- 0,
|
||||
- CERT_CHAIN_FIND_BY_ISSUER,
|
||||
- &findParam,
|
||||
- nullptr);
|
||||
- if (!chainContext) {
|
||||
- const QString message = isClient
|
||||
- ? QSslSocket::tr("The certificate provided cannot be used for a client.")
|
||||
- : QSslSocket::tr("The certificate provided cannot be used for a server.");
|
||||
- setErrorAndEmit(d, QAbstractSocket::SocketError::SslInvalidUserDataError, message);
|
||||
- return false;
|
||||
- }
|
||||
- Q_ASSERT(chainContext->cChain == 1);
|
||||
- Q_ASSERT(chainContext->rgpChain[0]);
|
||||
- Q_ASSERT(chainContext->rgpChain[0]->cbSize >= 1);
|
||||
- Q_ASSERT(chainContext->rgpChain[0]->rgpElement[0]);
|
||||
- Q_ASSERT(!localCertContext);
|
||||
- localCertContext = CertDuplicateCertificateContext(chainContext->rgpChain[0]
|
||||
- ->rgpElement[0]
|
||||
- ->pCertContext);
|
||||
certsCount = 1;
|
||||
- Q_ASSERT(localCertContext);
|
||||
+ localCertificate = static_cast<PCCERT_CONTEXT>(configuration.localCertificate().handle());
|
||||
+ Q_ASSERT(localCertificate);
|
||||
}
|
||||
|
||||
const QList<QSslCipher> ciphers = configuration.ciphers();
|
||||
@@ -1172,7 +1142,7 @@ bool TlsCryptographSchannel::acquireCredentialsHandle()
|
||||
SCH_CREDENTIALS_VERSION,
|
||||
0,
|
||||
certsCount,
|
||||
- &localCertContext,
|
||||
+ &localCertificate,
|
||||
nullptr,
|
||||
0,
|
||||
nullptr,
|
||||
@@ -1729,9 +1699,6 @@ void TlsCryptographSchannel::reset()
|
||||
connectionInfo = {};
|
||||
streamSizes = {};
|
||||
|
||||
- CertFreeCertificateContext(localCertContext);
|
||||
- localCertContext = nullptr;
|
||||
-
|
||||
contextAttributes = 0;
|
||||
intermediateBuffer.clear();
|
||||
schannelState = SchannelState::InitializeHandshake;
|
||||
@@ -2282,6 +2249,70 @@ bool TlsCryptographSchannel::checkSslErrors()
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void attachPrivateKeyToCertificate(const QSslCertificate &certificate,
|
||||
+ const QSslKey &privateKey)
|
||||
+{
|
||||
+ QAsn1Element elem = _q_PKCS12_key(privateKey);
|
||||
+ QByteArray buffer;
|
||||
+ QDataStream stream(&buffer, QDataStream::WriteOnly);
|
||||
+ elem.write(stream);
|
||||
+ NCRYPT_PROV_HANDLE provider = 0;
|
||||
+ SECURITY_STATUS status = NCryptOpenStorageProvider(&provider, MS_KEY_STORAGE_PROVIDER, 0);
|
||||
+ if (status != SEC_E_OK) {
|
||||
+ qCWarning(lcTlsBackendSchannel())
|
||||
+ << "Failed to open ncrypt storage provider:" << schannelErrorToString(status);
|
||||
+ return;
|
||||
+ }
|
||||
+ const auto freeProvider = qScopeGuard([provider]() { NCryptFreeObject(provider); });
|
||||
+
|
||||
+ const QString certName = certificate.subjectInfo(QSslCertificate::CommonName).front();
|
||||
+ QSpan<const QChar> nameSpan(certName);
|
||||
+ NCryptBuffer nbuffer{ ULONG(nameSpan.size_bytes() + sizeof(char16_t)),
|
||||
+ NCRYPTBUFFER_PKCS_KEY_NAME,
|
||||
+ const_reinterpret_cast<void *>(nameSpan.data()) };
|
||||
+ NCryptBufferDesc bufferDesc{ NCRYPTBUFFER_VERSION, 1, &nbuffer };
|
||||
+ NCRYPT_KEY_HANDLE ncryptKey = 0;
|
||||
+ status = NCryptImportKey(provider, 0, NCRYPT_PKCS8_PRIVATE_KEY_BLOB, &bufferDesc, &ncryptKey,
|
||||
+ PBYTE(buffer.data()), buffer.size(), 0);
|
||||
+ if (status != SEC_E_OK) {
|
||||
+ qCWarning(lcTlsBackendSchannel())
|
||||
+ << "Failed to import private key:" << schannelErrorToString(status);
|
||||
+ return;
|
||||
+ }
|
||||
+ const auto freeKey = qScopeGuard([ncryptKey]() { NCryptFreeObject(ncryptKey); });
|
||||
+
|
||||
+ CERT_CONTEXT *context = PCERT_CONTEXT(certificate.handle());
|
||||
+ Q_ASSERT(context);
|
||||
+
|
||||
+ CRYPT_DATA_BLOB keyBlob = { sizeof(ncryptKey), PBYTE(&ncryptKey) };
|
||||
+ BOOL ok =
|
||||
+ CertSetCertificateContextProperty(context, CERT_NCRYPT_KEY_HANDLE_PROP_ID, 0, &keyBlob);
|
||||
+ if (!ok) {
|
||||
+ auto error = GetLastError();
|
||||
+ if (lcTlsBackendSchannel().isWarningEnabled())
|
||||
+ qErrnoWarning(int(error), "Failed to set ncrypt handle property.");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ CRYPT_KEY_PROV_INFO provInfo{
|
||||
+ const_reinterpret_cast<LPWSTR>(certName.constData()),
|
||||
+ const_cast<LPWSTR>(MS_KEY_STORAGE_PROVIDER),
|
||||
+ 0,
|
||||
+ CERT_SET_KEY_PROV_HANDLE_PROP_ID | CERT_SET_KEY_CONTEXT_PROP_ID,
|
||||
+ 0,
|
||||
+ nullptr,
|
||||
+ 0,
|
||||
+ };
|
||||
+ ok = CertSetCertificateContextProperty(context, CERT_KEY_PROV_INFO_PROP_ID,
|
||||
+ CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG, &provInfo);
|
||||
+ if (!ok) {
|
||||
+ auto error = GetLastError();
|
||||
+ if (lcTlsBackendSchannel().isWarningEnabled())
|
||||
+ qErrnoWarning(int(error), "Failed to set key provider info property.");
|
||||
+ return;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void TlsCryptographSchannel::initializeCertificateStores()
|
||||
{
|
||||
//// helper function which turns a chain into a certificate store
|
||||
@@ -2298,7 +2329,10 @@ void TlsCryptographSchannel::initializeCertificateStores()
|
||||
CRYPT_DATA_BLOB pfxBlob;
|
||||
pfxBlob.cbData = DWORD(pkcs12.length());
|
||||
pfxBlob.pbData = reinterpret_cast<unsigned char *>(pkcs12.data());
|
||||
- return QHCertStorePointer(PFXImportCertStore(&pfxBlob, passphrase, 0));
|
||||
+ // ALWAYS_CNG to import using "Cryptography API: Next Generation (CNG)"
|
||||
+ // NO_PERSIST_KEY to request not persisting anything imported to disk
|
||||
+ constexpr DWORD flags = PKCS12_ALWAYS_CNG_KSP | PKCS12_NO_PERSIST_KEY;
|
||||
+ return QHCertStorePointer(PFXImportCertStore(&pfxBlob, passphrase, flags));
|
||||
};
|
||||
|
||||
if (!configuration.localCertificateChain().isEmpty()) {
|
||||
@@ -2308,10 +2342,34 @@ void TlsCryptographSchannel::initializeCertificateStores()
|
||||
return;
|
||||
}
|
||||
if (localCertificateStore == nullptr) {
|
||||
- localCertificateStore = createStoreFromCertificateChain(configuration.localCertificateChain(),
|
||||
- configuration.privateKey());
|
||||
- if (localCertificateStore == nullptr)
|
||||
+ localCertificateStore =
|
||||
+ createStoreFromCertificateChain(configuration.localCertificateChain(), {});
|
||||
+ if (localCertificateStore) {
|
||||
+ const CERT_CONTEXT *certificateContext = CertFindCertificateInStore(
|
||||
+ localCertificateStore.get(), X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0,
|
||||
+ CERT_FIND_ANY, nullptr, nullptr);
|
||||
+ if (certificateContext) {
|
||||
+ auto *backend = QTlsBackend::backend<X509CertificateSchannel>(
|
||||
+ configuration.localCertificate());
|
||||
+ backend->certificateContext.reset(
|
||||
+ CertDuplicateCertificateContext(certificateContext));
|
||||
+
|
||||
+ DWORD keySpec = 0;
|
||||
+ BOOL mustFree = FALSE;
|
||||
+ NCRYPT_KEY_HANDLE testKey = 0;
|
||||
+ BOOL ok = CryptAcquireCertificatePrivateKey(
|
||||
+ certificateContext, CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG, nullptr,
|
||||
+ &testKey, &keySpec, &mustFree);
|
||||
+ if (mustFree)
|
||||
+ NCryptFreeObject(testKey);
|
||||
+ if (!ok) {
|
||||
+ attachPrivateKeyToCertificate(configuration.localCertificate(),
|
||||
+ configuration.privateKey());
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
qCWarning(lcTlsBackendSchannel, "Failed to load certificate chain!");
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/plugins/tls/schannel/qtls_schannel_p.h b/src/plugins/tls/schannel/qtls_schannel_p.h
|
||||
index 64c3b21d45e8..5d5297954b2d 100644
|
||||
--- a/src/plugins/tls/schannel/qtls_schannel_p.h
|
||||
+++ b/src/plugins/tls/schannel/qtls_schannel_p.h
|
||||
@@ -114,8 +114,6 @@ private:
|
||||
QHCertStorePointer peerCertificateStore = nullptr;
|
||||
QHCertStorePointer caCertificateStore = nullptr;
|
||||
|
||||
- const CERT_CONTEXT *localCertContext = nullptr;
|
||||
-
|
||||
ULONG contextAttributes = 0;
|
||||
qint64 missingData = 0;
|
||||
|
||||
diff --git a/src/plugins/tls/schannel/qx509_schannel_p.h b/src/plugins/tls/schannel/qx509_schannel_p.h
|
||||
index 4625c95..eeb37aa 100644
|
||||
--- a/src/plugins/tls/schannel/qx509_schannel_p.h
|
||||
+++ b/src/plugins/tls/schannel/qx509_schannel_p.h
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
static bool importPkcs12(QIODevice *device, QSslKey *key, QSslCertificate *cert,
|
||||
QList<QSslCertificate> *caCertificates,
|
||||
const QByteArray &passPhrase);
|
||||
-private:
|
||||
+
|
||||
const CERT_CONTEXT *certificateContext = nullptr;
|
||||
|
||||
Q_DISABLE_COPY_MOVE(X509CertificateSchannel);
|
||||
diff --git a/src/plugins/tls/shared/qsslsocket_qt.cpp b/src/plugins/tls/shared/qsslsocket_qt.cpp
|
||||
index f55b3e3ded7a..7e108dceca45 100644
|
||||
--- a/src/plugins/tls/shared/qsslsocket_qt.cpp
|
||||
+++ b/src/plugins/tls/shared/qsslsocket_qt.cpp
|
||||
@@ -134,7 +134,7 @@ static QByteArray _q_PKCS12_certBag(const QSslCertificate &cert)
|
||||
return ba;
|
||||
}
|
||||
|
||||
-static QAsn1Element _q_PKCS12_key(const QSslKey &key)
|
||||
+QAsn1Element _q_PKCS12_key(const QSslKey &key)
|
||||
{
|
||||
Q_ASSERT(key.algorithm() == QSsl::Rsa || key.algorithm() == QSsl::Dsa);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6d0fb38ba72dd1324c2857364bb2834feb974dd6 Mon Sep 17 00:00:00 2001
|
||||
From edb1d2579e54a45439326442622d43a742df4a71 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Sat, 26 Apr 2025 10:50:40 +0200
|
||||
Subject: Build fix
|
||||
@@ -18,31 +18,18 @@ index bdf8875..637427e 100644
|
||||
QStringList result;
|
||||
if (styleHint == QFont::Monospace || styleHint == QFont::Courier) {
|
||||
diff --git a/src/platform/qhaikuplatformfontdatabase.h b/src/platform/qhaikuplatformfontdatabase.h
|
||||
index 6397903..d16396a 100644
|
||||
index 6397903..0ddfd52 100644
|
||||
--- a/src/platform/qhaikuplatformfontdatabase.h
|
||||
+++ b/src/platform/qhaikuplatformfontdatabase.h
|
||||
@@ -58,15 +58,15 @@ public:
|
||||
class QHaikuPlatformFontDatabase: public QFreeTypeFontDatabase
|
||||
{
|
||||
public:
|
||||
- QString fontDir() const override;
|
||||
- void populateFontDatabase() override;
|
||||
- QFont defaultFont() const override;
|
||||
+ QString fontDir() const;
|
||||
+ void populateFontDatabase();
|
||||
+ QFont defaultFont() const;
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
QStringList fallbacksForFamily(const QString &family,
|
||||
QFont::Style style,
|
||||
QFont::StyleHint styleHint,
|
||||
- QChar::Script script) const override;
|
||||
- QFontEngine *fontEngine(const QFontDef &fontDef, void *handle) override;
|
||||
- void releaseHandle(void *handle) override;
|
||||
+ QFontDatabasePrivate::ExtendedScript script) const;
|
||||
+ QFontEngine *fontEngine(const QFontDef &fontDef, void *handle);
|
||||
+ void releaseHandle(void *handle);
|
||||
+ QFontDatabasePrivate::ExtendedScript script) const override;
|
||||
QFontEngine *fontEngine(const QFontDef &fontDef, void *handle) override;
|
||||
void releaseHandle(void *handle) override;
|
||||
private:
|
||||
QHash<QChar::Script, QStringList> m_fallbacks;
|
||||
};
|
||||
diff --git a/src/style/helper/qstylehelper.cpp b/src/style/helper/qstylehelper.cpp
|
||||
index ea65227..0df07ef 100644
|
||||
--- a/src/style/helper/qstylehelper.cpp
|
||||
@@ -66,5 +53,5 @@ index ea65227..0df07ef 100644
|
||||
QPointF dp = calcRadialPos(option, qreal(0.70));
|
||||
buttonColor = buttonColor.lighter(104);
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 66b9a0b4d6b61c4059baf32debbec09bea29fee6 Mon Sep 17 00:00:00 2001
|
||||
From 88175dce0d2b55a3dd15612bd4a2f483fdd47183 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 10:16:14 +1000
|
||||
Subject: Make sure libs are searched in the develop/ dir by CMake
|
||||
@@ -19,20 +19,20 @@ index 24ed125..52f637e 100644
|
||||
CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
|
||||
CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From f4ed9213f570c269bb5a08e1af420465829f9adc Mon Sep 17 00:00:00 2001
|
||||
From 9e5e7b403370d0eb4a62435f4159834f6ddfffaa Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 10:16:34 +1000
|
||||
Subject: Fix QStandartPaths for Haiku
|
||||
|
||||
|
||||
diff --git a/src/corelib/io/qstandardpaths_haiku.cpp b/src/corelib/io/qstandardpaths_haiku.cpp
|
||||
index 93eba13..2862472 100644
|
||||
index f473ebe..2560722 100644
|
||||
--- a/src/corelib/io/qstandardpaths_haiku.cpp
|
||||
+++ b/src/corelib/io/qstandardpaths_haiku.cpp
|
||||
@@ -111,15 +111,16 @@ QString QStandardPaths::writableLocation(StandardLocation type)
|
||||
@@ -112,15 +112,16 @@ QString QStandardPaths::writableLocation(StandardLocation type)
|
||||
return haikuStandardPath(B_USER_NONPACKAGED_BIN_DIRECTORY);
|
||||
case TempLocation:
|
||||
return haikuStandardPath(B_SYSTEM_TEMP_DIRECTORY);
|
||||
@@ -53,7 +53,7 @@ index 93eba13..2862472 100644
|
||||
case ConfigLocation:
|
||||
case AppConfigLocation:
|
||||
case StateLocation:
|
||||
@@ -128,7 +129,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
|
||||
@@ -129,7 +130,7 @@ QString QStandardPaths::writableLocation(StandardLocation type)
|
||||
case GenericConfigLocation:
|
||||
return haikuStandardPath(B_USER_SETTINGS_DIRECTORY);
|
||||
default:
|
||||
@@ -62,7 +62,7 @@ index 93eba13..2862472 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,7 +150,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
|
||||
@@ -150,7 +151,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
|
||||
case PublicShareLocation:
|
||||
case TemplatesLocation:
|
||||
case HomeLocation:
|
||||
@@ -71,7 +71,7 @@ index 93eba13..2862472 100644
|
||||
break;
|
||||
case FontsLocation:
|
||||
paths += haikuStandardPaths(B_FIND_PATH_FONTS_DIRECTORY);
|
||||
@@ -173,7 +174,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
|
||||
@@ -174,7 +175,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
|
||||
break;
|
||||
case ConfigLocation: // fall through
|
||||
case AppConfigLocation:
|
||||
@@ -81,20 +81,20 @@ index 93eba13..2862472 100644
|
||||
case GenericConfigLocation:
|
||||
paths += haikuStandardPath(B_SYSTEM_SETTINGS_DIRECTORY);
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 7356bedf2ee4c9dc7e4794c35e00a26f60f43912 Mon Sep 17 00:00:00 2001
|
||||
From 5d3665a9f6bad82cf4a4df2648f973e049b76c9c Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 10:16:55 +1000
|
||||
Subject: QSslSocketPrivate::unixRootCertDirectories(): add ssl path for Haiku.
|
||||
|
||||
|
||||
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
|
||||
index 395394d..91483c2 100644
|
||||
index 46859a2..7be4dd0 100644
|
||||
--- a/src/network/ssl/qsslsocket.cpp
|
||||
+++ b/src/network/ssl/qsslsocket.cpp
|
||||
@@ -2968,6 +2968,7 @@ QList<QByteArray> QSslSocketPrivate::unixRootCertDirectories()
|
||||
@@ -2972,6 +2972,7 @@ QList<QByteArray> QSslSocketPrivate::unixRootCertDirectories()
|
||||
ba("/usr/local/ssl/certs/"), // Solaris
|
||||
ba("/etc/openssl/certs/"), // BlackBerry
|
||||
ba("/opt/openssl/certs/"), // HP-UX
|
||||
@@ -103,10 +103,10 @@ index 395394d..91483c2 100644
|
||||
};
|
||||
QList<QByteArray> result = QList<QByteArray>::fromReadOnlyData(dirs);
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 54d6f6828a9e058d174d166c4e2744f3d973b3b3 Mon Sep 17 00:00:00 2001
|
||||
From daf05ae386ca890cfc46343aa00a63e2a9754324 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 10:45:27 +1000
|
||||
Subject: Fix build for Haiku platform
|
||||
@@ -126,10 +126,10 @@ index 13bf7f1..aaa22ee 100644
|
||||
# or gold under Linux) will not print any library search path. Need to use another
|
||||
# invocation with different options (which in turn doesn't print include search
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From c364cc1ebbd882eefa83a4093c2b8a4f172ef23a Mon Sep 17 00:00:00 2001
|
||||
From a698082881961b56dc98fce39df6dff054644440 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 10:45:56 +1000
|
||||
Subject: Fix endian detection
|
||||
@@ -153,20 +153,20 @@ index 0baac93..1d48cbc 100644
|
||||
# endif
|
||||
# endif
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 8903e42c098d0c75ffb0a5cc658bafd3bc89a683 Mon Sep 17 00:00:00 2001
|
||||
From 716f1acc4c9d5841ffd57e0c310448035d1b8a0b Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:11:52 +1000
|
||||
Subject: Disable LibResolv for Haiku
|
||||
|
||||
|
||||
diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
|
||||
index 3b0e2d3..b824440 100644
|
||||
index 1883f41..1e10854 100644
|
||||
--- a/src/network/kernel/qhostinfo_unix.cpp
|
||||
+++ b/src/network/kernel/qhostinfo_unix.cpp
|
||||
@@ -50,6 +50,8 @@ static void maybeRefreshResolver()
|
||||
@@ -51,6 +51,8 @@ static void maybeRefreshResolver()
|
||||
// res_init() is not thread-safe; executing it leads to state corruption.
|
||||
// Whether it reloads resolv.conf on its own is unknown.
|
||||
return;
|
||||
@@ -176,20 +176,20 @@ index 3b0e2d3..b824440 100644
|
||||
|
||||
#if QT_CONFIG(libresolv)
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From f30a4dd62fe9d052363484ad0a4361fb9f3a4286 Mon Sep 17 00:00:00 2001
|
||||
From f2ceafe45c54353e73029d0273276245e07a508b Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:15:38 +1000
|
||||
Subject: Don't use ifaddrs for Haiku
|
||||
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkinterface_unix.cpp b/src/network/kernel/qnetworkinterface_unix.cpp
|
||||
index 39ff8db..3a9a992 100644
|
||||
index 5313e17..03bb881 100644
|
||||
--- a/src/network/kernel/qnetworkinterface_unix.cpp
|
||||
+++ b/src/network/kernel/qnetworkinterface_unix.cpp
|
||||
@@ -21,7 +21,7 @@
|
||||
@@ -22,7 +22,7 @@
|
||||
# include <ifaddrs.h>
|
||||
#endif
|
||||
|
||||
@@ -199,20 +199,20 @@ index 39ff8db..3a9a992 100644
|
||||
# ifndef SIOCGIFBRDADDR
|
||||
# define SIOCGIFBRDADDR 0x8919
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From c46fe83b709542a86098f9d46eca52646c76b42a Mon Sep 17 00:00:00 2001
|
||||
From dae3b6f4a2766ef63bf0bb6af314855dddacdef7 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:15:58 +1000
|
||||
Subject: Disable sharedmemory feature for bootstrap
|
||||
|
||||
|
||||
diff --git a/src/tools/bootstrap/CMakeLists.txt b/src/tools/bootstrap/CMakeLists.txt
|
||||
index 6a68425..2a6b2c5 100644
|
||||
index 4ed8169..bbfc3d6 100644
|
||||
--- a/src/tools/bootstrap/CMakeLists.txt
|
||||
+++ b/src/tools/bootstrap/CMakeLists.txt
|
||||
@@ -86,6 +86,7 @@ qt_internal_extend_target(Bootstrap
|
||||
@@ -79,6 +79,7 @@ qt_internal_extend_target(Bootstrap
|
||||
QT_NO_CAST_FROM_ASCII
|
||||
QT_NO_CAST_TO_ASCII
|
||||
QT_NO_FOREACH
|
||||
@@ -221,20 +221,20 @@ index 6a68425..2a6b2c5 100644
|
||||
..
|
||||
../../3rdparty/tinycbor/src
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 5ca98cc13d6f160cef292d7dacfd7e9ee1dc626a Mon Sep 17 00:00:00 2001
|
||||
From 855e44989cade9cea1ca0d8d79470a0ae683a61a Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:16:20 +1000
|
||||
Subject: Fix build for x86_gcc2
|
||||
|
||||
|
||||
diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c
|
||||
index edef3c5..c9df584 100644
|
||||
index 465258e..4cb6b0c 100644
|
||||
--- a/src/3rdparty/forkfd/forkfd.c
|
||||
+++ b/src/3rdparty/forkfd/forkfd.c
|
||||
@@ -675,7 +675,7 @@ static int forkfd_fork_fallback(int flags, pid_t *ppid)
|
||||
@@ -680,7 +680,7 @@ static int forkfd_fork_fallback(int flags, pid_t *ppid)
|
||||
/* parent process */
|
||||
info->deathPipe = death_pipe[1];
|
||||
fd = death_pipe[0];
|
||||
@@ -244,20 +244,20 @@ index edef3c5..c9df584 100644
|
||||
/* release the child */
|
||||
#ifdef HAVE_EVENTFD
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 395488f1655a98934a4d892bafa1c829ca32d159 Mon Sep 17 00:00:00 2001
|
||||
From 688cd526d534a89ec27fa2520c86bd0e6c40a72a Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:17:49 +1000
|
||||
Subject: Implement QFilesystemWatcher for Haiku
|
||||
|
||||
|
||||
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
|
||||
index 8e72caa..5411bb5 100644
|
||||
index d3b6af0..0e101c4 100644
|
||||
--- a/src/corelib/CMakeLists.txt
|
||||
+++ b/src/corelib/CMakeLists.txt
|
||||
@@ -1019,6 +1019,11 @@ qt_internal_extend_target(Core CONDITION MACOS AND QT_FEATURE_filesystemwatcher
|
||||
@@ -1044,6 +1044,11 @@ qt_internal_extend_target(Core CONDITION MACOS AND QT_FEATURE_filesystemwatcher
|
||||
io/qfilesystemwatcher_fsevents.mm io/qfilesystemwatcher_fsevents_p.h
|
||||
)
|
||||
|
||||
@@ -270,10 +270,10 @@ index 8e72caa..5411bb5 100644
|
||||
SOURCES
|
||||
io/qfilesystemwatcher_inotify.cpp io/qfilesystemwatcher_inotify_p.h
|
||||
diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp
|
||||
index 064be4c..d4c03c3 100644
|
||||
index cd72f21..ba27bae 100644
|
||||
--- a/src/corelib/io/qfilesystemwatcher.cpp
|
||||
+++ b/src/corelib/io/qfilesystemwatcher.cpp
|
||||
@@ -17,6 +17,8 @@
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "qfilesystemwatcher_polling_p.h"
|
||||
#if defined(Q_OS_WIN)
|
||||
# include "qfilesystemwatcher_win_p.h"
|
||||
@@ -282,7 +282,7 @@ index 064be4c..d4c03c3 100644
|
||||
#elif defined(USE_INOTIFY)
|
||||
# include "qfilesystemwatcher_inotify_p.h"
|
||||
#elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) || defined(Q_OS_OPENBSD) || defined(QT_PLATFORM_UIKIT)
|
||||
@@ -38,6 +40,8 @@ QFileSystemWatcherEngine *QFileSystemWatcherPrivate::createNativeEngine(QObject
|
||||
@@ -39,6 +41,8 @@ QFileSystemWatcherEngine *QFileSystemWatcherPrivate::createNativeEngine(QObject
|
||||
{
|
||||
#if defined(Q_OS_WIN)
|
||||
return new QWindowsFileSystemWatcherEngine(parent);
|
||||
@@ -642,20 +642,20 @@ index 0000000..0ae4bdf
|
||||
+#endif // QFILESYSTEMWATCHER_HAIKU_P_H
|
||||
+
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 62d3a237004e87bebc6e8a3a8ec03d6712e016ce Mon Sep 17 00:00:00 2001
|
||||
From 12111f1bfdfe725d7b11838f702a1e1ea462faf6 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:18:17 +1000
|
||||
Subject: Don't use AF_INET6 for new sockets
|
||||
|
||||
|
||||
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
|
||||
index b6df412..e7e2f17 100644
|
||||
index 6d49943..8b12671 100644
|
||||
--- a/src/network/socket/qnativesocketengine_unix.cpp
|
||||
+++ b/src/network/socket/qnativesocketengine_unix.cpp
|
||||
@@ -194,8 +194,12 @@ bool QNativeSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType soc
|
||||
@@ -199,8 +199,12 @@ bool QNativeSocketEnginePrivate::createNewSocket(QAbstractSocket::SocketType soc
|
||||
}
|
||||
int protocol = 0;
|
||||
#endif // QT_NO_SCTP
|
||||
@@ -669,20 +669,20 @@ index b6df412..e7e2f17 100644
|
||||
|
||||
int socket = qt_safe_socket(domain, type, protocol, O_NONBLOCK);
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 104fc849a93301a74907b4de51dad9ca3e093496 Mon Sep 17 00:00:00 2001
|
||||
From 1846d25a3247697f59962ed3898a4f9ab2abf743 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:18:41 +1000
|
||||
Subject: Disable Haswell CPU feature for plugins
|
||||
|
||||
|
||||
diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
|
||||
index d05a5fa..d582d13 100644
|
||||
index f03eba3..0a21b64 100644
|
||||
--- a/src/corelib/plugin/qlibrary_unix.cpp
|
||||
+++ b/src/corelib/plugin/qlibrary_unix.cpp
|
||||
@@ -152,7 +152,7 @@ bool QLibraryPrivate::load_sys()
|
||||
@@ -163,7 +163,7 @@ bool QLibraryPrivate::load_sys()
|
||||
prefixes.append(QString());
|
||||
}
|
||||
|
||||
@@ -692,20 +692,20 @@ index d05a5fa..d582d13 100644
|
||||
auto transform = [](QStringList &list, void (*f)(QString *)) {
|
||||
QStringList tmp;
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 280d9a068232cb7bd8ecb0f728dd13e5604aef43 Mon Sep 17 00:00:00 2001
|
||||
From 7ad1d1030480b80a3a88b28e22a37f366caa8e48 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:19:25 +1000
|
||||
Subject: Haiku build setup
|
||||
|
||||
|
||||
diff --git a/cmake/QtBuildHelpers.cmake b/cmake/QtBuildHelpers.cmake
|
||||
index 3f9f4c9..4fe36fa 100644
|
||||
index da3c954..59bf687 100644
|
||||
--- a/cmake/QtBuildHelpers.cmake
|
||||
+++ b/cmake/QtBuildHelpers.cmake
|
||||
@@ -42,7 +42,7 @@ endmacro()
|
||||
@@ -43,7 +43,7 @@ endmacro()
|
||||
|
||||
macro(qt_internal_setup_position_independent_code)
|
||||
## Position independent code:
|
||||
@@ -715,7 +715,7 @@ index 3f9f4c9..4fe36fa 100644
|
||||
# Does the linker support position independent code?
|
||||
include(CheckPIESupported)
|
||||
diff --git a/cmake/QtMkspecHelpers.cmake b/cmake/QtMkspecHelpers.cmake
|
||||
index a961296..7444a72 100644
|
||||
index a7f239f..55d2212 100644
|
||||
--- a/cmake/QtMkspecHelpers.cmake
|
||||
+++ b/cmake/QtMkspecHelpers.cmake
|
||||
@@ -50,6 +50,12 @@ macro(qt_internal_setup_platform_definitions_and_mkspec)
|
||||
@@ -745,20 +745,20 @@ index da6c871..bd085e2 100644
|
||||
set(rpath_rel_base "NO_KNOWN_RPATH_REL_BASE")
|
||||
endif()
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 70379a7eb7dc6c6055d8c0ddabd00efc650cdc51 Mon Sep 17 00:00:00 2001
|
||||
From 3f7d48fb3de511d4622cfcb93d1105ebd6cbe3db Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:21:18 +1000
|
||||
Subject: Haiku: link against libnetwork
|
||||
|
||||
|
||||
diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt
|
||||
index 80892ed..f77f703 100644
|
||||
index 1112f10..1bc87a5 100644
|
||||
--- a/src/network/CMakeLists.txt
|
||||
+++ b/src/network/CMakeLists.txt
|
||||
@@ -223,6 +223,11 @@ qt_internal_extend_target(Network CONDITION WIN32
|
||||
@@ -225,6 +225,11 @@ qt_internal_extend_target(Network CONDITION WIN32
|
||||
NOMINMAX
|
||||
)
|
||||
|
||||
@@ -771,10 +771,10 @@ index 80892ed..f77f703 100644
|
||||
LIBRARIES
|
||||
${FWCoreServices}
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From f364c1690698a4a37d616ef25f24457ed5a385c9 Mon Sep 17 00:00:00 2001
|
||||
From 06aaf29220a31133e7c3e09617baefead04b03b7 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:28:46 +1000
|
||||
Subject: Fix elf parser for Haiku
|
||||
@@ -858,20 +858,20 @@ index 78c9be0..6cc9db8 100644
|
||||
return d;
|
||||
}
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 7fbc2292de7efb65ec5168c81671fb720088ec11 Mon Sep 17 00:00:00 2001
|
||||
From efa55591c8647c6c15110ce6168e0bd53cd1cf95 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:29:03 +1000
|
||||
Subject: Don't use nl_langinfo
|
||||
|
||||
|
||||
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
|
||||
index 24d3134..d58bde5 100644
|
||||
index 310b011..9dff974 100644
|
||||
--- a/src/corelib/kernel/qcoreapplication.cpp
|
||||
+++ b/src/corelib/kernel/qcoreapplication.cpp
|
||||
@@ -575,7 +575,7 @@ void QCoreApplicationPrivate::initLocale()
|
||||
@@ -572,7 +572,7 @@ void QCoreApplicationPrivate::initLocale()
|
||||
// QLocal8Bit hard-codes this, and we need to be consistent.
|
||||
# if defined(Q_OS_INTEGRITY)
|
||||
setlocale(LC_CTYPE, "UTF-8");
|
||||
@@ -881,20 +881,20 @@ index 24d3134..d58bde5 100644
|
||||
// FIXME: Shouldn't we still setlocale("UTF-8")?
|
||||
# elif defined(Q_OS_ANDROID) && __ANDROID_API__ < __ANDROID_API_O__
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From d5dffda79119bcac68c1078fcdf40da9b7998696 Mon Sep 17 00:00:00 2001
|
||||
From d2cbc972b0ec0638ac6271deac7e1334f31fdc6c Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Oct 2023 12:30:12 +1000
|
||||
Subject: Workaround for shm_open
|
||||
|
||||
|
||||
diff --git a/src/corelib/ipc/qsharedmemory_posix.cpp b/src/corelib/ipc/qsharedmemory_posix.cpp
|
||||
index 582c662..0854906 100644
|
||||
index fa215c3..7a0978c 100644
|
||||
--- a/src/corelib/ipc/qsharedmemory_posix.cpp
|
||||
+++ b/src/corelib/ipc/qsharedmemory_posix.cpp
|
||||
@@ -68,6 +68,10 @@ bool QSharedMemoryPosix::create(QSharedMemoryPrivate *self, qsizetype size)
|
||||
@@ -69,6 +69,10 @@ bool QSharedMemoryPosix::create(QSharedMemoryPrivate *self, qsizetype size)
|
||||
|
||||
int fd;
|
||||
QT_EINTR_LOOP(fd, ::shm_open(shmName.constData(), O_RDWR | O_CREAT | O_EXCL | O_CLOEXEC, 0600));
|
||||
@@ -906,20 +906,20 @@ index 582c662..0854906 100644
|
||||
const int errorNumber = errno;
|
||||
const auto function = "QSharedMemory::attach (shm_open)"_L1;
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From dae8e1455ccb328a536add810efe343fd1833e47 Mon Sep 17 00:00:00 2001
|
||||
From 18a32823a5ada939947ac346fafe2d5036a0cc74 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 14 Apr 2024 12:20:21 +1000
|
||||
Subject: Disable DisconnectControllingTerminal
|
||||
|
||||
|
||||
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
|
||||
index 6109e9d..879aac1 100644
|
||||
index a6131f1..453c3d3 100644
|
||||
--- a/src/corelib/io/qprocess_unix.cpp
|
||||
+++ b/src/corelib/io/qprocess_unix.cpp
|
||||
@@ -869,6 +869,7 @@ static const char *applyProcessParameters(const QProcess::UnixProcessParameters
|
||||
@@ -879,6 +879,7 @@ static const char *applyProcessParameters(const QProcess::UnixProcessParameters
|
||||
return "setsid";
|
||||
}
|
||||
|
||||
@@ -927,83 +927,162 @@ index 6109e9d..879aac1 100644
|
||||
// Disconnect from the controlling TTY. This probably won't fail. Must be
|
||||
// done after the session settings from above.
|
||||
if (params.flags.testFlag(QProcess::UnixProcessFlag::DisconnectControllingTerminal)) {
|
||||
@@ -883,6 +884,7 @@ static const char *applyProcessParameters(const QProcess::UnixProcessParameters
|
||||
}
|
||||
@@ -895,6 +896,7 @@ static const char *applyProcessParameters(const QProcess::UnixProcessParameters
|
||||
}
|
||||
#endif
|
||||
}
|
||||
+#endif
|
||||
|
||||
// Disable core dumps near the end. This isn't expected to fail.
|
||||
if (params.flags.testFlag(QProcess::UnixProcessFlag::DisableCoreDumps)) {
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 547b99e7842d9f1913ab0d4e786be30d2918841d Mon Sep 17 00:00:00 2001
|
||||
From a1d49197d96886d334e2ca2e90661620f027653a Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 4 Oct 2024 18:22:17 +1000
|
||||
Subject: Use ICU backend for QTimeZone
|
||||
|
||||
|
||||
diff --git a/src/corelib/time/qtimezone.cpp b/src/corelib/time/qtimezone.cpp
|
||||
index 906a42f..d4fdc49 100644
|
||||
index 7b43aab..0061b1e 100644
|
||||
--- a/src/corelib/time/qtimezone.cpp
|
||||
+++ b/src/corelib/time/qtimezone.cpp
|
||||
@@ -26,6 +26,8 @@ static QTimeZonePrivate *newBackendTimeZone()
|
||||
return new QChronoTimeZonePrivate();
|
||||
#elif defined(Q_OS_DARWIN)
|
||||
@@ -29,6 +29,8 @@ static QTimeZonePrivate *newBackendTimeZone()
|
||||
return new QMacTimeZonePrivate();
|
||||
+#elif defined(Q_OS_HAIKU)
|
||||
+ return new QUtcTimeZonePrivate();
|
||||
#elif defined(Q_OS_ANDROID)
|
||||
return new QAndroidTimeZonePrivate();
|
||||
#elif defined(Q_OS_UNIX)
|
||||
+#elif defined(Q_OS_HAIKU)
|
||||
+ return new QUtcTimeZonePrivate();
|
||||
#elif defined(Q_OS_UNIX) && !defined(Q_OS_VXWORKS)
|
||||
return new QTzTimeZonePrivate();
|
||||
#elif QT_CONFIG(icu)
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 66100dafa96f8bf920eecd4a42cc8d17809f03ed Mon Sep 17 00:00:00 2001
|
||||
From 6e298692ca3c675e8d82463a956f493223c4812d Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sat, 5 Oct 2024 19:48:13 +1000
|
||||
Subject: Use ICU backend for ianaId
|
||||
|
||||
|
||||
diff --git a/src/corelib/time/qtimezone.cpp b/src/corelib/time/qtimezone.cpp
|
||||
index d4fdc49..c059f47 100644
|
||||
index 0061b1e..542f54c 100644
|
||||
--- a/src/corelib/time/qtimezone.cpp
|
||||
+++ b/src/corelib/time/qtimezone.cpp
|
||||
@@ -49,6 +49,8 @@ static QTimeZonePrivate *newBackendTimeZone(const QByteArray &ianaId)
|
||||
return new QChronoTimeZonePrivate(ianaId);
|
||||
#elif defined(Q_OS_DARWIN)
|
||||
@@ -52,6 +52,8 @@ static QTimeZonePrivate *newBackendTimeZone(const QByteArray &ianaId)
|
||||
return new QMacTimeZonePrivate(ianaId);
|
||||
+#elif defined(Q_OS_HAIKU)
|
||||
+ return new QUtcTimeZonePrivate(ianaId);
|
||||
#elif defined(Q_OS_ANDROID)
|
||||
return new QAndroidTimeZonePrivate(ianaId);
|
||||
#elif defined(Q_OS_UNIX)
|
||||
+#elif defined(Q_OS_HAIKU)
|
||||
+ return new QUtcTimeZonePrivate(ianaId);
|
||||
#elif defined(Q_OS_UNIX) && !defined(Q_OS_VXWORKS)
|
||||
return new QTzTimeZonePrivate(ianaId);
|
||||
#elif QT_CONFIG(icu)
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 221e0f18dd59c97a3b4dcb1d3f51b5763349a477 Mon Sep 17 00:00:00 2001
|
||||
From 9bc4852fcda4347443fc0b913ebb67b51bb8dc72 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sat, 5 Oct 2024 19:48:35 +1000
|
||||
Subject: Disable tz backend for Haiku
|
||||
|
||||
|
||||
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
|
||||
index 5411bb5..51936d2 100644
|
||||
index 0e101c4..c88104b 100644
|
||||
--- a/src/corelib/CMakeLists.txt
|
||||
+++ b/src/corelib/CMakeLists.txt
|
||||
@@ -964,7 +964,7 @@ qt_internal_extend_target(Core
|
||||
@@ -989,7 +989,7 @@ qt_internal_extend_target(Core
|
||||
qt_internal_extend_target(Core
|
||||
CONDITION
|
||||
QT_FEATURE_timezone AND UNIX
|
||||
QT_FEATURE_timezone AND UNIX AND NOT VXWORKS
|
||||
- AND NOT ANDROID AND NOT APPLE AND NOT QT_FEATURE_timezone_tzdb
|
||||
+ AND NOT ANDROID AND NOT APPLE AND NOT HAIKU AND NOT QT_FEATURE_timezone_tzdb
|
||||
SOURCES
|
||||
time/qtimezoneprivate_tz.cpp
|
||||
)
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From f16637446b1a03474831299397f7ba089a35dd17 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Sun, 29 Jun 2025 09:30:39 +0200
|
||||
Subject: Build fix*
|
||||
|
||||
|
||||
diff --git a/src/testlib/qtestcrashhandler_unix.cpp b/src/testlib/qtestcrashhandler_unix.cpp
|
||||
index d66a542..81ccaaf 100644
|
||||
--- a/src/testlib/qtestcrashhandler_unix.cpp
|
||||
+++ b/src/testlib/qtestcrashhandler_unix.cpp
|
||||
@@ -40,7 +40,9 @@
|
||||
# elif __has_include(<ucontext.h>)
|
||||
# include <ucontext.h>
|
||||
# else
|
||||
+# if !defined(Q_OS_HAIKU)
|
||||
using ucontext_t = void;
|
||||
+#endif
|
||||
# endif
|
||||
|
||||
#if defined(Q_OS_MACOS)
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
||||
From 28f1adfc1c5ecb5a1c2ff124d5a1903b899fc290 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Thu, 9 Oct 2025 10:52:56 +0200
|
||||
Subject: Include Qt warning
|
||||
|
||||
|
||||
diff --git a/src/corelib/io/qfilesystemwatcher_haiku_p.h b/src/corelib/io/qfilesystemwatcher_haiku_p.h
|
||||
index 0ae4bdf..0339487 100644
|
||||
--- a/src/corelib/io/qfilesystemwatcher_haiku_p.h
|
||||
+++ b/src/corelib/io/qfilesystemwatcher_haiku_p.h
|
||||
@@ -20,6 +20,17 @@
|
||||
#ifndef QFILESYSTEMWATCHER_HAIKU_P_H
|
||||
#define QFILESYSTEMWATCHER_HAIKU_P_H
|
||||
|
||||
+//
|
||||
+// W A R N I N G
|
||||
+// -------------
|
||||
+//
|
||||
+// This file is not part of the Qt API. It exists purely as an
|
||||
+// implementation detail. This header file may change from version to
|
||||
+// version without notice, or even be removed.
|
||||
+//
|
||||
+// We mean it.
|
||||
+//
|
||||
+
|
||||
#include <QtCore/qfileinfo.h>
|
||||
#include <QtCore/qmutex.h>
|
||||
#include <QtCore/qdatetime.h>
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
||||
From 338171278a762ad5a5abde6ce3a75535ce03fdd6 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Fri, 13 Feb 2026 16:08:03 +0100
|
||||
Subject: Fix error for static_assert
|
||||
|
||||
|
||||
diff --git a/src/corelib/global/qtypes.h b/src/corelib/global/qtypes.h
|
||||
index a7e6505..a40f266 100644
|
||||
--- a/src/corelib/global/qtypes.h
|
||||
+++ b/src/corelib/global/qtypes.h
|
||||
@@ -178,7 +178,7 @@ static_assert(std::is_signed_v<qint128>,
|
||||
|
||||
#ifndef __cplusplus
|
||||
// In C++ mode, we define below using QIntegerForSize template
|
||||
-static_assert(sizeof(ptrdiff_t) == sizeof(size_t), "Weird ptrdiff_t and size_t definitions");
|
||||
+_Static_assert(sizeof(ptrdiff_t) == sizeof(size_t), "Weird ptrdiff_t and size_t definitions");
|
||||
typedef ptrdiff_t qptrdiff;
|
||||
typedef ptrdiff_t qsizetype;
|
||||
typedef ptrdiff_t qintptr;
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -4,23 +4,19 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v3
|
||||
GNU GPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
REVISION="2"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtbase-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c"
|
||||
CHECKSUM_SHA256="aeb78d29291a2b5fd53cb55950f8f5065b4978c25fb1d77f627d695ab9adf21e"
|
||||
SOURCE_DIR="qtbase-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_base-$portVersion.patchset
|
||||
CVE-2025-5455-qtbase-6.9.patch
|
||||
CVE-2025-5991-qtbase-6.9.patch
|
||||
CVE-2025-5992-qtbase-6.9.patch
|
||||
CVE-2025-6338-qtbase-6.9.patch"
|
||||
srcGitRev2="4341730a0b93fc5564d9a20688f6360526148a7a"
|
||||
PATCHES="qt6_base-$portVersion.patchset"
|
||||
srcGitRev2="1d255f2f8e58d66c1d3f2fc12cf651e4ca0aa80d"
|
||||
SOURCE_URI_2="https://github.com/threedeyes/qt6-haikuplugins/archive/$srcGitRev2.tar.gz"
|
||||
CHECKSUM_SHA256_2="2e46855a2f215c5b19bf9961cff6303993b26f31bba120c90d1babfbf659db1a"
|
||||
CHECKSUM_SHA256_2="ca54435a744b3d036b241a82380edaf3ffe7ed13501fd0529996dbf31e4f4558"
|
||||
SOURCE_DIR_2="qt6-haikuplugins-$srcGitRev2"
|
||||
PATCHES_2="qt6_base-$portVersion-source2.patchset"
|
||||
|
||||
@@ -49,13 +45,16 @@ PROVIDES="
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
haiku_svg_icon_theme
|
||||
cmd:qsystray
|
||||
cmd:qnotify
|
||||
lib:libbrotlidec$secondaryArchSuffix
|
||||
lib:libcrypto$secondaryArchSuffix
|
||||
lib:libdouble_conversion$secondaryArchSuffix
|
||||
lib:libegl$secondaryArchSuffix
|
||||
lib:libEGL$secondaryArchSuffix
|
||||
lib:libfreetype$secondaryArchSuffix
|
||||
lib:libfontconfig$secondaryArchSuffix
|
||||
lib:libgl$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libGLU$secondaryArchSuffix
|
||||
lib:libharfbuzz$secondaryArchSuffix
|
||||
lib:libicudata$secondaryArchSuffix
|
||||
lib:libicui18n$secondaryArchSuffix
|
||||
@@ -67,8 +66,7 @@ REQUIRES="
|
||||
lib:libstdc++$secondaryArchSuffix
|
||||
lib:libvulkan$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
cmd:qsystray
|
||||
cmd:qnotify
|
||||
lib:libzstd$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
@@ -78,11 +76,7 @@ PROVIDES_devel="
|
||||
devel:libQt6Concurrent$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6Core$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6DBus$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6DeviceDiscoverySupport$secondaryArchSuffix
|
||||
devel:libQt6EglFSDeviceIntegration$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6ExampleIcons$secondaryArchSuffix
|
||||
devel:libQt6ExamplesAssetDownloader$secondaryArchSuffix
|
||||
devel:libQt6FBSupport$secondaryArchSuffix
|
||||
devel:libQt6Gui$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6Network$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6OpenGL$secondaryArchSuffix = $libVersionCompat
|
||||
@@ -92,11 +86,16 @@ PROVIDES_devel="
|
||||
devel:libQt6Test$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6Widgets$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6Xml$secondaryArchSuffix = $libVersionCompat
|
||||
# static libraries
|
||||
devel:libQt6DeviceDiscoverySupport$secondaryArchSuffix
|
||||
devel:libQt6ExampleIcons$secondaryArchSuffix
|
||||
devel:libQt6ExamplesAssetDownloader$secondaryArchSuffix
|
||||
devel:libQt6FBSupport$secondaryArchSuffix
|
||||
"
|
||||
REQUIRES_devel="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
qt6_base$secondaryArchSuffix == $portVersion base
|
||||
devel:libgl$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libharfbuzz$secondaryArchSuffix
|
||||
devel:libharfbuzz_gobject$secondaryArchSuffix
|
||||
devel:libvulkan$secondaryArchSuffix
|
||||
@@ -105,13 +104,15 @@ REQUIRES_devel="
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libbrotlidec$secondaryArchSuffix
|
||||
devel:libcrypto$secondaryArchSuffix
|
||||
devel:libcrypto$secondaryArchSuffix >= 3
|
||||
devel:libdouble_conversion$secondaryArchSuffix >= 3
|
||||
devel:libegl$secondaryArchSuffix
|
||||
devel:libEGL$secondaryArchSuffix
|
||||
devel:libfontconfig$secondaryArchSuffix
|
||||
devel:libfreetype$secondaryArchSuffix
|
||||
devel:libgl$secondaryArchSuffix
|
||||
devel:libglu$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
# devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libGLU$secondaryArchSuffix
|
||||
# devel:libgthread_2.0$secondaryArchSuffix
|
||||
devel:libharfbuzz$secondaryArchSuffix
|
||||
devel:libharfbuzz_gobject$secondaryArchSuffix
|
||||
devel:libicuuc$secondaryArchSuffix >= 74
|
||||
@@ -119,10 +120,11 @@ BUILD_REQUIRES="
|
||||
devel:libpcre2_16$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsqlite3$secondaryArchSuffix
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libssl$secondaryArchSuffix >= 3
|
||||
devel:libvulkan$secondaryArchSuffix
|
||||
devel:libxml2$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:libzstd$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
@@ -165,13 +167,16 @@ BUILD()
|
||||
-DINSTALL_MKSPECSDIR=$dataDir/Qt6/mkspecs \
|
||||
-DINSTALL_EXAMPLESDIR=$developDir/sources/Qt6 \
|
||||
-DINSTALL_QMLDIR=$dataDir/Qt6/qml \
|
||||
-DINSTALL_SHAREDIR=$dataDir/Qt6 \
|
||||
-DINSTALL_SYSCONFDIR=$settingsDir/xdg \
|
||||
-DINSTALL_TRANSLATIONSDIR=$dataDir/Qt6/translations \
|
||||
-DQT_QMAKE_TARGET_MKSPEC=haiku-g++ \
|
||||
-DQT_FEATURE_openssl_linked=ON \
|
||||
-DQT_FEATURE_system_sqlite=ON \
|
||||
-DQT_FEATURE_glib=OFF \
|
||||
-DFEATURE_rpath=OFF \
|
||||
-DQT_FEATURE_rpath=OFF \
|
||||
-DFEATURE_syslog=ON \
|
||||
-DFEATURE_zstd=ON \
|
||||
-Wno-dev
|
||||
|
||||
ninja -v -C build $jobArgs
|
||||
@@ -200,11 +205,7 @@ INSTALL()
|
||||
libQt6Concurrent \
|
||||
libQt6Core \
|
||||
libQt6DBus \
|
||||
libQt6DeviceDiscoverySupport \
|
||||
libQt6EglFSDeviceIntegration \
|
||||
libQt6FbSupport \
|
||||
libQt6ExampleIcons \
|
||||
libQt6ExamplesAssetDownloader \
|
||||
libQt6Gui \
|
||||
libQt6Network \
|
||||
libQt6OpenGL \
|
||||
@@ -215,6 +216,13 @@ INSTALL()
|
||||
libQt6Widgets \
|
||||
libQt6Xml
|
||||
|
||||
# static libraries
|
||||
prepareInstalledDevelLibs \
|
||||
libQt6DeviceDiscoverySupport \
|
||||
libQt6FbSupport \
|
||||
libQt6ExampleIcons \
|
||||
libQt6ExamplesAssetDownloader
|
||||
|
||||
# fix pkgconfig & cmake files
|
||||
fixPkgconfig
|
||||
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtcharts-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="8a1c9287f25fe47b110ada87e8c73b928a93f05435440d0a27f591d25c317f28"
|
||||
CHECKSUM_SHA256="405116b4c5eded981484c4c154eb392d44b69b587342f1193181175e309f2c00"
|
||||
SOURCE_DIR="qtcharts-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -32,6 +32,7 @@ REQUIRES="
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6OpenGL$secondaryArchSuffix
|
||||
lib:libQt6Network$secondaryArchSuffix
|
||||
lib:libQt6Qml$secondaryArchSuffix
|
||||
lib:libQt6Quick$secondaryArchSuffix
|
||||
lib:libQt6Widgets$secondaryArchSuffix
|
||||
@@ -55,10 +56,13 @@ BUILD_REQUIRES="
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libQt6Core$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Gui$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6OpenGL$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Multimedia$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Network$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Qml$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Widgets$secondaryArchSuffix == $portVersion
|
||||
devel:libssl$secondaryArchSuffix >= 3
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
@@ -68,7 +72,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,15 +4,15 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtconnectivity-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="ff402f8dacb2b9f9308afcea67118ae1645ce6466f2d41a8d5c12fd2fa168598"
|
||||
SOURCE_DIR="qtconnectivity-everywhere-src-$portVersion$QtBeta"
|
||||
CHECKSUM_SHA256="cf58f021f32857b5b6799cd4404ef613399ecc1c515492f0f620ce338a311a32"
|
||||
SOURCE_DIR="qtconnectivity-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
@@ -50,14 +50,14 @@ REQUIRES_devel="
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libcrypto$secondaryArchSuffix
|
||||
devel:libcrypto$secondaryArchSuffix >= 3
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libQt6Core$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Gui$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Qml$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libssl$secondaryArchSuffix >= 3
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
@@ -66,7 +66,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -1,14 +1,14 @@
|
||||
From 6cdbbab0a5d8323487a69e2b3061e3890d28663b Mon Sep 17 00:00:00 2001
|
||||
From 259e550c37c06de69b762bc0b4adffefb8a85af9 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Tue, 3 May 2022 16:16:08 +1000
|
||||
Subject: Enable GLES for Haiku
|
||||
|
||||
|
||||
diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp
|
||||
index 3470c44..a6a2d44 100644
|
||||
index fd81dbe..893b6b3 100644
|
||||
--- a/src/datavisualization/utils/utils.cpp
|
||||
+++ b/src/datavisualization/utils/utils.cpp
|
||||
@@ -310,9 +310,13 @@ QQuaternion Utils::calculateRotation(const QVector3D &xyzRotations)
|
||||
@@ -312,9 +312,13 @@ QQuaternion Utils::calculateRotation(const QVector3D &xyzRotations)
|
||||
|
||||
bool Utils::isOpenGLES()
|
||||
{
|
||||
@@ -23,5 +23,5 @@ index 3470c44..a6a2d44 100644
|
||||
|
||||
void Utils::resolveStatics()
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtdatavis3d-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="310cb713d58c932a8dfaee3c7cd4cac7f2f77ee8e01038ff7df3f0c87f9d8015"
|
||||
CHECKSUM_SHA256="b769408bf4a3d03220331d5de59636fdf97a21831d01d3fd141c36c698355bc1"
|
||||
SOURCE_DIR="qtdatavis3d-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_datavis3d-$portVersion.patchset"
|
||||
|
||||
@@ -28,17 +28,14 @@ PROVIDES="
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
# lib:libcrypto$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6OpenGL$secondaryArchSuffix
|
||||
lib:libQt6Network$secondaryArchSuffix
|
||||
lib:libQt6Qml$secondaryArchSuffix
|
||||
lib:libQt6QmlModels$secondaryArchSuffix
|
||||
lib:libQt6Quick$secondaryArchSuffix
|
||||
# lib:libQt6QuickTimeline$secondaryArchSuffix
|
||||
# lib:libQt6ShaderTools$secondaryArchSuffix
|
||||
# lib:libssl$secondaryArchSuffix
|
||||
# lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
@@ -53,18 +50,15 @@ REQUIRES_devel="
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
# devel:libcrypto$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libQt6Core$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6DBus$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Gui$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6OpenGL$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Qml$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
# devel:libQt6QuickTimeline$secondaryArchSuffix == $portVersion
|
||||
# devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
|
||||
# devel:libssl$secondaryArchSuffix
|
||||
# devel:libz$secondaryArchSuffix
|
||||
devel:libQt6Widgets$secondaryArchSuffix == $portVersion
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
@@ -72,7 +66,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -88,7 +81,7 @@ BUILD()
|
||||
cmake -B build -S $sourceDir -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_FLAGS=-fPIC \
|
||||
-DQT_GENERATE_SBOM=OFF \
|
||||
-DQT_GENERATE_SBOM=ON \
|
||||
-Wno-dev
|
||||
|
||||
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
|
||||
@@ -1,4 +1,4 @@
|
||||
From 21625c0a334ee5ae0df35083cb7dd180bd65ed2c Mon Sep 17 00:00:00 2001
|
||||
From 8fa0e7815a0b4fc6944118de0e3a4a7c52ff3e98 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Tue, 9 Apr 2024 21:29:50 +1000
|
||||
Subject: Fix for Haiku
|
||||
@@ -25,7 +25,7 @@ index 28d4239..9559e3b 100644
|
||||
inline size_t systemPageSize()
|
||||
{
|
||||
diff --git a/src/3rdparty/masm/wtf/Platform.h b/src/3rdparty/masm/wtf/Platform.h
|
||||
index 4146879..8e35d08 100644
|
||||
index fb2bb44..2451ca1 100644
|
||||
--- a/src/3rdparty/masm/wtf/Platform.h
|
||||
+++ b/src/3rdparty/masm/wtf/Platform.h
|
||||
@@ -422,6 +422,11 @@
|
||||
@@ -49,10 +49,10 @@ index 4146879..8e35d08 100644
|
||||
|| OS(OPENBSD) \
|
||||
|| OS(QNX) \
|
||||
diff --git a/src/qml/jit/qv4assemblercommon_p.h b/src/qml/jit/qv4assemblercommon_p.h
|
||||
index a0bf802..e662e7f 100644
|
||||
index 47c5e37..0bb056a 100644
|
||||
--- a/src/qml/jit/qv4assemblercommon_p.h
|
||||
+++ b/src/qml/jit/qv4assemblercommon_p.h
|
||||
@@ -33,7 +33,7 @@ namespace QV4 {
|
||||
@@ -34,7 +34,7 @@ namespace QV4 {
|
||||
namespace JIT {
|
||||
|
||||
#if defined(Q_PROCESSOR_X86_64) || defined(ENABLE_ALL_ASSEMBLERS_FOR_REFACTORING_PURPOSES)
|
||||
@@ -62,10 +62,10 @@ index a0bf802..e662e7f 100644
|
||||
class PlatformAssembler_X86_64_SysV : public JSC::MacroAssembler<JSC::MacroAssemblerX86_64>
|
||||
{
|
||||
diff --git a/src/qml/memory/qv4stacklimits.cpp b/src/qml/memory/qv4stacklimits.cpp
|
||||
index 288a6fd..84bbc5a 100644
|
||||
index 5e43900..02b31b5 100644
|
||||
--- a/src/qml/memory/qv4stacklimits.cpp
|
||||
+++ b/src/qml/memory/qv4stacklimits.cpp
|
||||
@@ -35,6 +35,10 @@
|
||||
@@ -36,6 +36,10 @@
|
||||
# include <taskLib.h>
|
||||
#elif defined(Q_OS_WASM)
|
||||
# include <emscripten/stack.h>
|
||||
@@ -76,7 +76,7 @@ index 288a6fd..84bbc5a 100644
|
||||
#endif
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -59,6 +63,9 @@ enum StackDefaults : qsizetype {
|
||||
@@ -60,6 +64,9 @@ enum StackDefaults : qsizetype {
|
||||
// On linux, we assume 8MB stacks if rlimit doesn't work.
|
||||
PlatformStackSize = 8 * 1024 * 1024,
|
||||
PlatformSafetyMargin = DefaultSafetyMargin,
|
||||
@@ -86,7 +86,7 @@ index 288a6fd..84bbc5a 100644
|
||||
#elif defined(Q_OS_QNX)
|
||||
// QNX's stack is only 512k by default
|
||||
PlatformStackSize = 512 * 1024,
|
||||
@@ -103,7 +110,7 @@ static StackProperties createStackProperties(void *base, qsizetype size = Platfo
|
||||
@@ -80,7 +87,7 @@ static StackProperties createStackProperties(void *base, qsizetype size = Platfo
|
||||
};
|
||||
}
|
||||
|
||||
@@ -96,5 +96,5 @@ index 288a6fd..84bbc5a 100644
|
||||
// On linux and darwin, on the main thread, the pthread functions
|
||||
// may not return the true stack size since the main thread stack
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
REVISION="2"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtdeclarative-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="a3175fa510847a136734f989e2bfea7f7bbb9dc9acc98b40b544d26f5ba20d3d"
|
||||
CHECKSUM_SHA256="a249914ff66cdcdbf0df8b5ffad997a2ee6dce01cc17d43c6cc56fdc1d0f4b0f"
|
||||
SOURCE_DIR="qtdeclarative-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_declarative-$portVersion.patchset"
|
||||
|
||||
@@ -34,6 +34,7 @@ PROVIDES="
|
||||
lib:libQt6LabsQmlModels$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6LabsSettings$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6LabsSharedImage$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6LabsSynchronizer$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6LabsWavefrontMesh$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6Qml$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QmlCompiler$secondaryArchSuffix = $libVersionCompat
|
||||
@@ -65,10 +66,12 @@ PROVIDES="
|
||||
lib:libQt6QuickLayouts$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickParticles$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickShapes$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickShapesDesignHelpers$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickTemplates2$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickTest$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickVectorImage$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickVectorImageGenerator$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickVectorImageHelpers$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6QuickWidgets$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
@@ -94,22 +97,15 @@ PROVIDES_devel="
|
||||
devel:libQt6LabsQmlModels$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6LabsSettings$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6LabsSharedImage$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6LabsSynchronizer$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6LabsWavefrontMesh$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6PacketProtocol$secondaryArchSuffix
|
||||
devel:libQt6Qml$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlAssetDownloader$secondaryArchSuffix
|
||||
devel:libQt6QmlCompiler$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlCore$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlDebug$secondaryArchSuffix
|
||||
devel:libQt6QmlDom$secondaryArchSuffix
|
||||
devel:libQt6QmlFormat$secondaryArchSuffix
|
||||
devel:libQt6QmlLocalStorage$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlLS$secondaryArchSuffix
|
||||
devel:libQt6QmlMeta$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlModels$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlNetwork$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlToolingSettings$secondaryArchSuffix
|
||||
devel:libQt6QmlTypeRegistrar$secondaryArchSuffix
|
||||
devel:libQt6QmlWorkerScript$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QmlXmlListModel$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6Quick$secondaryArchSuffix = $libVersionCompat
|
||||
@@ -126,7 +122,6 @@ PROVIDES_devel="
|
||||
devel:libQt6QuickControls2MaterialStyleImpl$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickControls2Universal$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickControls2UniversalStyleImpl$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickControlsTestUtils$secondaryArchSuffix
|
||||
devel:libQt6QuickDialogs2$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickDialogs2QuickImpl$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickDialogs2Utils$secondaryArchSuffix = $libVersionCompat
|
||||
@@ -134,16 +129,30 @@ PROVIDES_devel="
|
||||
devel:libQt6QuickLayouts$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickParticles$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickShapes$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickShapesDesignHelpers$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickTemplates2$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickTest$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickTestUtils$secondaryArchSuffix
|
||||
devel:libQt6QuickVectorImage$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickVectorImageGenerator$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickVectorImageHelpers$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6QuickWidgets$secondaryArchSuffix = $libVersionCompat
|
||||
# static libraries
|
||||
devel:libQt6PacketProtocol$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QmlAssetDownloader$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QmlDebug$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QmlDom$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QmlFormat$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QmlLS$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QmlToolingSettings$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QmlTypeRegistrar$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QuickControlsTestUtils$secondaryArchSuffix = $libVersion
|
||||
devel:libQt6QuickTestUtils$secondaryArchSuffix = $libVersion
|
||||
"
|
||||
REQUIRES_devel="
|
||||
qt6_declarative$secondaryArchSuffix == $portVersion base
|
||||
qt6_base${secondaryArchSuffix}_devel
|
||||
devel:libQt6ShaderTools$secondaryArchSuffix
|
||||
devel:libQt6Svg$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
@@ -197,6 +206,7 @@ INSTALL()
|
||||
{
|
||||
ninja -C build install
|
||||
|
||||
# shared libraries
|
||||
prepareInstalledDevelLibs \
|
||||
libQt6LabsAnimation \
|
||||
libQt6LabsFolderListModel \
|
||||
@@ -204,22 +214,15 @@ INSTALL()
|
||||
libQt6LabsQmlModels \
|
||||
libQt6LabsSettings \
|
||||
libQt6LabsSharedImage \
|
||||
libQt6LabsSynchronizer \
|
||||
libQt6LabsWavefrontMesh \
|
||||
libQt6PacketProtocol \
|
||||
libQt6Qml \
|
||||
libQt6QmlAssetDownloader \
|
||||
libQt6QmlCompiler \
|
||||
libQt6QmlCore \
|
||||
libQt6QmlDebug \
|
||||
libQt6QmlDom \
|
||||
libQt6QmlFormat \
|
||||
libQt6QmlLocalStorage \
|
||||
libQt6QmlLS \
|
||||
libQt6QmlMeta \
|
||||
libQt6QmlModels \
|
||||
libQt6QmlNetwork \
|
||||
libQt6QmlToolingSettings \
|
||||
libQt6QmlTypeRegistrar \
|
||||
libQt6QmlWorkerScript \
|
||||
libQt6QmlXmlListModel \
|
||||
libQt6Quick \
|
||||
@@ -236,7 +239,6 @@ INSTALL()
|
||||
libQt6QuickControls2MaterialStyleImpl \
|
||||
libQt6QuickControls2Universal \
|
||||
libQt6QuickControls2UniversalStyleImpl \
|
||||
libQt6QuickControlsTestUtils \
|
||||
libQt6QuickDialogs2 \
|
||||
libQt6QuickDialogs2QuickImpl \
|
||||
libQt6QuickDialogs2Utils \
|
||||
@@ -244,12 +246,25 @@ INSTALL()
|
||||
libQt6QuickLayouts \
|
||||
libQt6QuickParticles \
|
||||
libQt6QuickShapes \
|
||||
libQt6QuickShapesDesignHelpers \
|
||||
libQt6QuickTemplates2 \
|
||||
libQt6QuickTest \
|
||||
libQt6QuickTestUtils \
|
||||
libQt6QuickVectorImage \
|
||||
libQt6QuickVectorImageGenerator \
|
||||
libQt6QuickVectorImageHelpers \
|
||||
libQt6QuickWidgets
|
||||
# static libraries
|
||||
prepareInstalledDevelLibs \
|
||||
libQt6PacketProtocol \
|
||||
libQt6QmlAssetDownloader \
|
||||
libQt6QmlDebug \
|
||||
libQt6QmlDom \
|
||||
libQt6QmlFormat \
|
||||
libQt6QmlLS \
|
||||
libQt6QmlToolingSettings \
|
||||
libQt6QmlTypeRegistrar \
|
||||
libQt6QuickControlsTestUtils \
|
||||
libQt6QuickTestUtils
|
||||
|
||||
# fix pkgconfig & cmake files
|
||||
fixPkgconfig
|
||||
@@ -263,10 +278,6 @@ INSTALL()
|
||||
$libDir/cmake/Qt6QmlDebugPrivate/Qt6QmlDebugPrivateTargets-release.cmake
|
||||
sed -i "s,\${_IMPORT_PREFIX}/$relativeLibDir,\${_IMPORT_PREFIX}/$relativeDevelopLibDir," \
|
||||
$libDir/cmake/Qt6QmlDomPrivate/Qt6QmlDomPrivateTargets-release.cmake
|
||||
sed -i "s,\${_IMPORT_PREFIX}/$relativeLibDir,\${_IMPORT_PREFIX}/$relativeDevelopLibDir," \
|
||||
$libDir/cmake/Qt6QmlFormatPrivate/Qt6QmlFormatPrivateTargets-release.cmake
|
||||
sed -i "s,\${_IMPORT_PREFIX}/$relativeLibDir,\${_IMPORT_PREFIX}/$relativeDevelopLibDir," \
|
||||
$libDir/cmake/Qt6QmlLSPrivate/Qt6QmlLSPrivateTargets-release.cmake
|
||||
sed -i "s,\${_IMPORT_PREFIX}/$relativeLibDir,\${_IMPORT_PREFIX}/$relativeDevelopLibDir," \
|
||||
$libDir/cmake/Qt6QmlToolingSettingsPrivate/Qt6QmlToolingSettingsPrivateTargets-release.cmake
|
||||
sed -i "s,\${_IMPORT_PREFIX}/$relativeLibDir,\${_IMPORT_PREFIX}/$relativeDevelopLibDir," \
|
||||
@@ -4,13 +4,13 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://archlinux.thaller.ws/extra/os/x86_64/qt6-doc-${portVersion}-1-any.pkg.tar.zst#noarchive"
|
||||
CHECKSUM_SHA256="44cd23e231d7d730c60c08f20a6ba055dbf7d44c733d9c42ee3f963c8ac42c9b"
|
||||
CHECKSUM_SHA256="5da583877bf5f9c4d6b9519091f3316dd7d2b46f1598ca056f5b91df84ab49c2"
|
||||
SOURCE_DIR="qt6-doc-$portVersion"
|
||||
|
||||
ARCHITECTURES="?any"
|
||||
@@ -4,13 +4,13 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://archlinux.thaller.ws/extra/os/x86_64/qt6-examples-${portVersion}-1-any.pkg.tar.zst#noarchive"
|
||||
CHECKSUM_SHA256="c813c333c88c536ae04c0686cf53318338d2b5fdb36f53e326b04466edf1f2c8"
|
||||
CHECKSUM_SHA256="e138798c41d7b7924f229437524fe5287fead5f3a4653f4c2ba1829ae6fafae6"
|
||||
|
||||
ARCHITECTURES="?any"
|
||||
|
||||
108
dev-qt/qt6-graphs/qt6_graphs-6.10.2.recipe
Normal file
108
dev-qt/qt6-graphs/qt6_graphs-6.10.2.recipe
Normal file
@@ -0,0 +1,108 @@
|
||||
SUMMARY="Qt Graphs module"
|
||||
DESCRIPTION="The Qt Graphs module enables you to visualize data in 3D as bar, scatter, and \
|
||||
surface graphs. It's especially useful for visualizing depth maps and large quantities of rapidly \
|
||||
changing data, such as data received from multiple sensors. The look and feel of graphs can be \
|
||||
customized by using themes or by adding custom items and labels.
|
||||
|
||||
Qt Graphs is built on Qt 6 and Qt Quick 3D to take advantage of hardware acceleration and Qt \
|
||||
Quick."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="BSD (3-clause)
|
||||
GNU FDL v1.3
|
||||
GNU GPL v3"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtgraphs-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="f690fc6aa567d89a6e76ce370d684beb243dc0c2ed1187dd305433e278dd7aaf"
|
||||
SOURCE_DIR="qtgraphs-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
libVersion="$portVersion"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
qt6_graphs$secondaryArchSuffix = $portVersion compat >= 6
|
||||
lib:libQt6Graphs$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6GraphsWidgets$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6Qml$secondaryArchSuffix
|
||||
lib:libQt6Network$secondaryArchSuffix
|
||||
lib:libQt6OpenGL$secondaryArchSuffix
|
||||
lib:libQt6Quick$secondaryArchSuffix
|
||||
lib:libQt6Quick3D$secondaryArchSuffix
|
||||
lib:libQt6ShaderTools$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
qt6_graphs${secondaryArchSuffix}_devel = $portVersion compat >= 6
|
||||
devel:libQt6Graphs$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6GraphsWidgets$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
qt6_graphs$secondaryArchSuffix == $portVersion base
|
||||
qt6_base${secondaryArchSuffix}_devel
|
||||
devel:libQt6Quick$secondaryArchSuffix
|
||||
devel:libQt6Quick3D$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libQt6Core$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick3D$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:ninja
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export DISABLE_ASLR=1
|
||||
|
||||
cmake -B build -S $sourceDir -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_FLAGS=-fPIC \
|
||||
-DQT_GENERATE_SBOM=ON \
|
||||
-Wno-dev
|
||||
|
||||
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
|
||||
|
||||
ninja -v -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
ninja -C build install
|
||||
|
||||
prepareInstalledDevelLibs \
|
||||
libQt6Graphs \
|
||||
libQt6GraphsWidgets
|
||||
|
||||
# fix pkgconfig files
|
||||
fixPkgconfig
|
||||
sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \
|
||||
$developLibDir/pkgconfig/*.pc
|
||||
|
||||
cd $libDir
|
||||
for i in lib*.so.6.*;do
|
||||
ln -fs $i $(echo $i | cut -f1,2 -d.)
|
||||
done
|
||||
|
||||
packageEntries devel \
|
||||
$dataDir/Qt6/mkspecs \
|
||||
$developDir \
|
||||
$libDir/cmake
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
diff --git a/src/plugins/imageformats/icns/qicnshandler.cpp b/src/plugins/imageformats/icns/qicnshandler.cpp
|
||||
index 6cf74b219a1..501394deede 100644
|
||||
--- a/src/plugins/imageformats/icns/qicnshandler.cpp
|
||||
+++ b/src/plugins/imageformats/icns/qicnshandler.cpp
|
||||
@@ -324,8 +324,11 @@ static inline bool isPowOf2OrDividesBy16(quint32 u, qreal r)
|
||||
|
||||
static inline bool isBlockHeaderValid(const ICNSBlockHeader &header, quint64 bound = 0)
|
||||
{
|
||||
- return header.ostype != 0 && (bound == 0
|
||||
- || qBound(quint64(ICNSBlockHeaderSize), quint64(header.length), bound) == header.length);
|
||||
+ return header.ostype != 0 &&
|
||||
+ (bound == 0 ||
|
||||
+ // qBound can be used but requires checking the limits first
|
||||
+ // this requires less operations
|
||||
+ (ICNSBlockHeaderSize <= header.length && header.length <= bound));
|
||||
}
|
||||
|
||||
static inline bool isIconCompressed(const ICNSEntry &icon)
|
||||
@@ -870,7 +873,7 @@ bool QICNSHandler::scanDevice()
|
||||
return false;
|
||||
|
||||
const qint64 blockDataOffset = device()->pos();
|
||||
- if (!isBlockHeaderValid(blockHeader, ICNSBlockHeaderSize + filelength - blockDataOffset)) {
|
||||
+ if (!isBlockHeaderValid(blockHeader, ICNSBlockHeaderSize - blockDataOffset + filelength)) {
|
||||
qWarning("QICNSHandler::scanDevice(): Failed, bad header at pos %s. OSType \"%s\", length %u",
|
||||
QByteArray::number(blockDataOffset).constData(),
|
||||
nameFromOSType(blockHeader.ostype).constData(), blockHeader.length);
|
||||
|
||||
@@ -4,16 +4,15 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtimageformats-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="2047c6242a57bf97cf40079fa9f91752c137cd9ae84760faa9a2e5e8a440606f"
|
||||
CHECKSUM_SHA256="8b8f9c718638081e7b3c000e7f31910140b1202a98e98df5d1b496fe6f639d67"
|
||||
SOURCE_DIR="qtimageformats-everywhere-src-$portVersion"
|
||||
PATCHES="CVE-2025-5683-qtimageformats-6.9.patch"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
@@ -62,7 +61,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,19 +4,20 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtlanguageserver-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="eee65e036152eee36b63127013fb8e4f0cbbde66bae5f88864b56b70e357492e"
|
||||
CHECKSUM_SHA256="9a043f2c84b0b470065fc7a954dc4ff0388db3e1b2c457c3d69670baecc40d53"
|
||||
SOURCE_DIR="qtlanguageserver-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
|
||||
PROVIDES="
|
||||
qt6_languageserver$secondaryArchSuffix = $portVersion compat >= 6
|
||||
devel:libQt6JsonRpc$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtlocation-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="ada25ac4c1aa2b2daec0c21198dbb30004453869911724816c6ce7ecb3826794"
|
||||
CHECKSUM_SHA256="d313f05dedc593517c47d0fa3eb131a2597c01db23de263fe89fea561be50f3c"
|
||||
SOURCE_DIR="qtlocation-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -64,7 +64,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -84,7 +83,6 @@ BUILD()
|
||||
-DQT_GENERATE_SBOM=ON \
|
||||
-Wno-dev
|
||||
|
||||
|
||||
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
|
||||
|
||||
ninja -v -C build $jobArgs
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtlottie-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="d4ba1614a587a279266036b1b08ac854718458fdd39708b37afde74f0b4afabe"
|
||||
CHECKSUM_SHA256="a5d86b7a07833a0f2bd203042bbc156ec6588fd957f00a3c166788410ea4028c"
|
||||
SOURCE_DIR="qtlottie-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -22,7 +22,9 @@ libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
qt6_lottie$secondaryArchSuffix = $portVersion compat >= 6
|
||||
lib:libQt6Bodymovin$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6Lottie$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6LottieVectorImageGenerator$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6LottieVectorImageHelpers$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
@@ -39,7 +41,9 @@ REQUIRES="
|
||||
|
||||
PROVIDES_devel="
|
||||
qt6_lottie${secondaryArchSuffix}_devel = $portVersion compat >= 6
|
||||
devel:libQt6Bodymovin$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6Lottie$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6LottieVectorImageGenerator$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6LottieVectorImageHelpers$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
qt6_lottie$secondaryArchSuffix == $portVersion base
|
||||
@@ -55,6 +59,8 @@ BUILD_REQUIRES="
|
||||
devel:libQt6Qml$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6QuickShapes$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6QuickVectorImage$secondaryArchSuffix == $portVersion
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
@@ -64,7 +70,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -93,7 +98,10 @@ INSTALL()
|
||||
ninja -C build install
|
||||
|
||||
prepareInstalledDevelLibs \
|
||||
libQt6Bodymovin
|
||||
libQt6Lottie \
|
||||
libQt6LottieVectorImageGenerator \
|
||||
libQt6LottieVectorImageHelpers
|
||||
fixPkgconfig
|
||||
|
||||
cd $libDir
|
||||
for i in lib*.so.6.*;do
|
||||
@@ -1,65 +1,65 @@
|
||||
From 695e06cdf4da7beed7d0adb272e6a870f0d19236 Mon Sep 17 00:00:00 2001
|
||||
From ef8e8f13a83b1e7b120861d2915493e02d15ff19 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Tue, 9 Apr 2024 22:25:53 +1000
|
||||
Subject: Enable OpenAL (wasm) audio backend for Haiku
|
||||
|
||||
|
||||
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt
|
||||
index 031b321..0cd1fdb 100644
|
||||
index 9275e03..dba9dfc 100644
|
||||
--- a/src/multimedia/CMakeLists.txt
|
||||
+++ b/src/multimedia/CMakeLists.txt
|
||||
@@ -330,7 +330,7 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_wmf AND MINGW
|
||||
windows/qcomtaskresource_p.h
|
||||
@@ -412,7 +412,7 @@ set_source_files_properties(${source_with_init_guid} PROPERTIES
|
||||
)
|
||||
|
||||
|
||||
-qt_internal_extend_target(Multimedia CONDITION WASM
|
||||
+qt_internal_extend_target(Multimedia CONDITION WASM OR HAIKU
|
||||
SOURCES
|
||||
wasm/qwasmmediadevices.cpp wasm/qwasmmediadevices_p.h
|
||||
wasm/qwasmaudiosource.cpp wasm/qwasmaudiosource_p.h
|
||||
diff --git a/src/multimedia/configure.cmake b/src/multimedia/configure.cmake
|
||||
index c1d3540..bf95334 100644
|
||||
index 7bb46ab..4d9d3ae 100644
|
||||
--- a/src/multimedia/configure.cmake
|
||||
+++ b/src/multimedia/configure.cmake
|
||||
@@ -138,7 +138,7 @@ qt_feature("ffmpeg" PRIVATE
|
||||
LABEL "FFmpeg"
|
||||
@@ -237,7 +237,7 @@ qt_feature("ffmpeg" PRIVATE
|
||||
ENABLE INPUT_ffmpeg STREQUAL 'yes'
|
||||
DISABLE INPUT_ffmpeg STREQUAL 'no'
|
||||
- CONDITION FFmpeg_FOUND AND (APPLE OR WIN32 OR ANDROID OR QNX OR QT_FEATURE_pulseaudio)
|
||||
+ CONDITION FFmpeg_FOUND AND (APPLE OR WIN32 OR ANDROID OR QNX OR HAIKU OR QT_FEATURE_pulseaudio)
|
||||
CONDITION FFmpeg_FOUND
|
||||
- AND (APPLE OR WIN32 OR ANDROID OR QNX OR QT_FEATURE_pulseaudio OR QT_FEATURE_pipewire)
|
||||
+ AND (APPLE OR WIN32 OR ANDROID OR QNX OR HAIKU OR QT_FEATURE_pulseaudio OR QT_FEATURE_pipewire)
|
||||
AND QT_FEATURE_thread
|
||||
)
|
||||
qt_feature("pipewire" PRIVATE
|
||||
LABEL "PipeWire"
|
||||
@@ -287,7 +287,7 @@ qt_configure_end_summary_section() # end of "Qt Multimedia" section
|
||||
qt_configure_add_report_entry(
|
||||
|
||||
@@ -284,7 +284,7 @@ qt_configure_add_report_entry(
|
||||
TYPE WARNING
|
||||
MESSAGE "No backend for low level audio found."
|
||||
- CONDITION NOT QT_FEATURE_alsa AND NOT QT_FEATURE_pulseaudio AND NOT QT_FEATURE_mmrenderer AND NOT QT_FEATURE_coreaudio AND NOT QT_FEATURE_wmsdk AND NOT ANDROID AND NOT WASM
|
||||
+ CONDITION NOT QT_FEATURE_alsa AND NOT QT_FEATURE_pulseaudio AND NOT QT_FEATURE_mmrenderer AND NOT QT_FEATURE_coreaudio AND NOT QT_FEATURE_wmsdk AND NOT ANDROID AND NOT WASM AND NOT HAIKU
|
||||
CONDITION NOT QT_FEATURE_alsa AND NOT QT_FEATURE_pulseaudio AND NOT QT_FEATURE_mmrenderer AND NOT QT_FEATURE_coreaudio
|
||||
- AND NOT WIN32 AND NOT ANDROID AND NOT WASM AND NOT QT_FEATURE_pipewire
|
||||
+ AND NOT WIN32 AND NOT ANDROID AND NOT WASM AND NOT HAIKU AND NOT QT_FEATURE_pipewire
|
||||
)
|
||||
|
||||
qt_configure_add_report_entry(
|
||||
diff --git a/src/multimedia/platform/qplatformaudiodevices.cpp b/src/multimedia/platform/qplatformaudiodevices.cpp
|
||||
index a8dc865..f93f38b 100644
|
||||
index 060552a..9596aa0 100644
|
||||
--- a/src/multimedia/platform/qplatformaudiodevices.cpp
|
||||
+++ b/src/multimedia/platform/qplatformaudiodevices.cpp
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <qpulseaudiodevices_p.h>
|
||||
#elif defined(Q_OS_QNX)
|
||||
#include <qqnxaudiodevices_p.h>
|
||||
-#elif defined(Q_OS_WASM)
|
||||
+#elif defined(Q_OS_WASM) || defined(Q_OS_HAIKU)
|
||||
#include <private/qwasmmediadevices_p.h>
|
||||
@@ -30,7 +30,7 @@
|
||||
#if defined(Q_OS_QNX)
|
||||
# include <QtMultimedia/private/qqnxaudiodevices_p.h>
|
||||
#endif
|
||||
-#if defined(Q_OS_WASM)
|
||||
+#if defined(Q_OS_WASM) || defined(Q_OS_HAIKU)
|
||||
# include <QtMultimedia/private/qwasmmediadevices_p.h>
|
||||
#endif
|
||||
|
||||
@@ -39,7 +39,7 @@ std::unique_ptr<QPlatformAudioDevices> QPlatformAudioDevices::create()
|
||||
return std::make_unique<QPulseAudioDevices>();
|
||||
#elif defined(Q_OS_QNX)
|
||||
@@ -89,7 +89,7 @@ std::unique_ptr<QPlatformAudioDevices> QPlatformAudioDevices::create()
|
||||
#if defined(Q_OS_QNX)
|
||||
return std::make_unique<QQnxAudioDevices>();
|
||||
-#elif defined(Q_OS_WASM)
|
||||
+#elif defined(Q_OS_WASM) || defined(Q_OS_HAIKU)
|
||||
#endif
|
||||
-#if defined(Q_OS_WASM)
|
||||
+#if defined(Q_OS_WASM) || defined(Q_OS_HAIKU)
|
||||
return std::make_unique<QWasmMediaDevices>();
|
||||
#else
|
||||
#endif
|
||||
return std::make_unique<QPlatformAudioDevices>();
|
||||
diff --git a/src/multimedia/wasm/qwasmaudiodevice.cpp b/src/multimedia/wasm/qwasmaudiodevice.cpp
|
||||
index 53572f4..8cba6c1 100644
|
||||
@@ -105,7 +105,7 @@ index 53572f4..8cba6c1 100644
|
||||
auto f = QAudioFormat::Float;
|
||||
|
||||
diff --git a/src/multimedia/wasm/qwasmaudiosink.cpp b/src/multimedia/wasm/qwasmaudiosink.cpp
|
||||
index d1068e7..e75b0f8 100644
|
||||
index e15cdd2..afb9cd1 100644
|
||||
--- a/src/multimedia/wasm/qwasmaudiosink.cpp
|
||||
+++ b/src/multimedia/wasm/qwasmaudiosink.cpp
|
||||
@@ -4,18 +4,23 @@
|
||||
@@ -133,7 +133,7 @@ index d1068e7..e75b0f8 100644
|
||||
|
||||
class ALData {
|
||||
public:
|
||||
@@ -97,6 +102,18 @@ void QWasmAudioSink::start(bool mode)
|
||||
@@ -99,6 +104,18 @@ void QWasmAudioSink::start(bool mode)
|
||||
case 2:
|
||||
aldata->format = AL_FORMAT_STEREO8;
|
||||
break;
|
||||
@@ -152,7 +152,7 @@ index d1068e7..e75b0f8 100644
|
||||
default:
|
||||
return formatError();
|
||||
}
|
||||
@@ -109,6 +126,18 @@ void QWasmAudioSink::start(bool mode)
|
||||
@@ -111,6 +128,18 @@ void QWasmAudioSink::start(bool mode)
|
||||
case 2:
|
||||
aldata->format = AL_FORMAT_STEREO16;
|
||||
break;
|
||||
@@ -171,7 +171,7 @@ index d1068e7..e75b0f8 100644
|
||||
default:
|
||||
return formatError();
|
||||
}
|
||||
@@ -121,6 +150,18 @@ void QWasmAudioSink::start(bool mode)
|
||||
@@ -123,6 +152,18 @@ void QWasmAudioSink::start(bool mode)
|
||||
case 2:
|
||||
aldata->format = AL_FORMAT_STEREO_FLOAT32;
|
||||
break;
|
||||
@@ -191,89 +191,19 @@ index d1068e7..e75b0f8 100644
|
||||
return formatError();
|
||||
}
|
||||
diff --git a/src/multimedia/wasm/qwasmaudiosource.cpp b/src/multimedia/wasm/qwasmaudiosource.cpp
|
||||
index 81f222c..d18cb7c 100644
|
||||
index 94fc78e..7cb92a7 100644
|
||||
--- a/src/multimedia/wasm/qwasmaudiosource.cpp
|
||||
+++ b/src/multimedia/wasm/qwasmaudiosource.cpp
|
||||
@@ -3,7 +3,10 @@
|
||||
@@ -3,7 +3,9 @@
|
||||
|
||||
#include "qwasmaudiosource_p.h"
|
||||
|
||||
+#ifndef Q_OS_HAIKU
|
||||
#include <emscripten.h>
|
||||
+#endif
|
||||
+
|
||||
#include <AL/al.h>
|
||||
#include <AL/alc.h>
|
||||
#include <QDataStream>
|
||||
diff --git a/src/multimedia/wasm/qwasmmediadevices.cpp b/src/multimedia/wasm/qwasmmediadevices.cpp
|
||||
index b9db530..8bc2b80 100644
|
||||
--- a/src/multimedia/wasm/qwasmmediadevices.cpp
|
||||
+++ b/src/multimedia/wasm/qwasmmediadevices.cpp
|
||||
@@ -76,6 +76,7 @@ QPlatformAudioSink *QWasmMediaDevices::createAudioSink(const QAudioDevice &devic
|
||||
return ret;
|
||||
}
|
||||
|
||||
+#ifndef Q_OS_HAIKU
|
||||
void QWasmMediaDevices::parseDevices(emscripten::val devices)
|
||||
{
|
||||
if (devices.isNull() || devices.isUndefined()) {
|
||||
@@ -188,9 +189,12 @@ void QWasmMediaDevices::parseDevices(emscripten::val devices)
|
||||
m_firstInit = false;
|
||||
|
||||
}
|
||||
+#endif
|
||||
|
||||
void QWasmMediaDevices::getMediaDevices()
|
||||
{
|
||||
+
|
||||
+#ifndef Q_OS_HAIKU
|
||||
emscripten::val navigator = emscripten::val::global("navigator");
|
||||
m_jsMediaDevicesInterface = navigator["mediaDevices"];
|
||||
|
||||
@@ -237,6 +241,7 @@ void QWasmMediaDevices::getMediaDevices()
|
||||
std::move(enumerateDevicesCallback));
|
||||
});
|
||||
}
|
||||
+#endif
|
||||
|
||||
}
|
||||
|
||||
@@ -247,10 +252,17 @@ void QWasmMediaDevices::getOpenALAudioDevices()
|
||||
auto capture = alcGetString(nullptr, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
|
||||
// present even if there is no capture device
|
||||
if (capture && !m_audioOutputs.contains(capture)) {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
m_audioInputs.insert(capture,
|
||||
(new QWasmAudioDevice(capture, "WebAssembly audio capture device",
|
||||
true, QAudioDevice::Input))
|
||||
->create());
|
||||
+#else
|
||||
+ m_audioInputs.insert(capture,
|
||||
+ (new QWasmAudioDevice(capture, "Haiku audio capture device",
|
||||
+ true, QAudioDevice::Input))
|
||||
+ ->create());
|
||||
+#endif
|
||||
m_audioInputsAdded = true;
|
||||
onAudioInputsChanged();
|
||||
}
|
||||
@@ -258,10 +270,17 @@ void QWasmMediaDevices::getOpenALAudioDevices()
|
||||
auto playback = alcGetString(nullptr, ALC_DEFAULT_DEVICE_SPECIFIER);
|
||||
// present even if there is no playback device
|
||||
if (playback && !m_audioOutputs.contains(capture)) {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
m_audioOutputs.insert(playback,
|
||||
(new QWasmAudioDevice(playback, "WebAssembly audio playback device",
|
||||
true, QAudioDevice::Output))
|
||||
->create());
|
||||
+#else
|
||||
+ m_audioOutputs.insert(playback,
|
||||
+ (new QWasmAudioDevice(playback, "Haiku audio playback device",
|
||||
+ true, QAudioDevice::Output))
|
||||
+ ->create());
|
||||
+#endif
|
||||
onAudioOutputsChanged();
|
||||
}
|
||||
m_firstInit = true;
|
||||
diff --git a/src/multimedia/wasm/qwasmmediadevices_p.h b/src/multimedia/wasm/qwasmmediadevices_p.h
|
||||
index 3ccd211..37f33f4 100644
|
||||
--- a/src/multimedia/wasm/qwasmmediadevices_p.h
|
||||
@@ -326,13 +256,13 @@ index 3ccd211..37f33f4 100644
|
||||
bool m_firstInit = false;
|
||||
};
|
||||
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
|
||||
index d67c428..4f1c552 100644
|
||||
index c774f2a..a99d8d6 100644
|
||||
--- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
|
||||
+++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
|
||||
@@ -184,7 +184,11 @@ namespace {
|
||||
QMaybe<AVFormatContextUPtr, MediaDataHolder::ContextError>
|
||||
loadMedia(const QUrl &mediaUrl, QIODevice *stream, const std::shared_ptr<ICancelToken> &cancelToken)
|
||||
{
|
||||
@@ -191,7 +191,11 @@ loadMedia(const QUrl &mediaUrl, QIODevice *stream, const QPlaybackOptions &playb
|
||||
using std::chrono::microseconds;
|
||||
using std::chrono::milliseconds;
|
||||
|
||||
+#ifndef Q_OS_HAIKU
|
||||
const QByteArray url = mediaUrl.toString(QUrl::PreferLocalFile).toUtf8();
|
||||
+#else
|
||||
@@ -342,5 +272,138 @@ index d67c428..4f1c552 100644
|
||||
AVFormatContextUPtr context{ avformat_alloc_context() };
|
||||
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
|
||||
From 623b9f5c468f55480aaeaf59a32e55028e210d16 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Sat, 12 Jul 2025 11:15:53 +0200
|
||||
Subject: Patch* qwasmmediadevices.cpp (changed in 6.9.1)
|
||||
|
||||
|
||||
diff --git a/src/multimedia/wasm/qwasmmediadevices.cpp b/src/multimedia/wasm/qwasmmediadevices.cpp
|
||||
index 0ebd337..adad982 100644
|
||||
--- a/src/multimedia/wasm/qwasmmediadevices.cpp
|
||||
+++ b/src/multimedia/wasm/qwasmmediadevices.cpp
|
||||
@@ -72,6 +72,7 @@ QPlatformAudioSink *QWasmMediaDevices::createAudioSink(const QAudioDevice &devic
|
||||
return new QWasmAudioSink(deviceInfo, fmt, parent);
|
||||
}
|
||||
|
||||
+#ifndef Q_OS_HAIKU
|
||||
void QWasmMediaDevices::parseDevices(emscripten::val devices)
|
||||
{
|
||||
if (devices.isNull() || devices.isUndefined()) {
|
||||
@@ -185,9 +186,11 @@ void QWasmMediaDevices::parseDevices(emscripten::val devices)
|
||||
m_firstInit = false;
|
||||
|
||||
}
|
||||
+#endif
|
||||
|
||||
void QWasmMediaDevices::getMediaDevices()
|
||||
{
|
||||
+#ifndef Q_OS_HAIKU
|
||||
emscripten::val navigator = emscripten::val::global("navigator");
|
||||
m_jsMediaDevicesInterface = navigator["mediaDevices"];
|
||||
|
||||
@@ -234,6 +237,7 @@ void QWasmMediaDevices::getMediaDevices()
|
||||
std::move(enumerateDevicesCallback));
|
||||
});
|
||||
}
|
||||
+#endif
|
||||
|
||||
}
|
||||
|
||||
@@ -244,10 +248,17 @@ void QWasmMediaDevices::getOpenALAudioDevices()
|
||||
auto capture = alcGetString(nullptr, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
|
||||
// present even if there is no capture device
|
||||
if (capture && !m_audioOutputs.contains(capture)) {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
m_audioInputs.insert(
|
||||
capture,
|
||||
QAudioDevicePrivate::createQAudioDevice(std::make_unique<QWasmAudioDevice>(
|
||||
capture, "WebAssembly audio capture device", true, QAudioDevice::Input)));
|
||||
+#else
|
||||
+ m_audioInputs.insert(
|
||||
+ capture,
|
||||
+ QAudioDevicePrivate::createQAudioDevice(std::make_unique<QWasmAudioDevice>(
|
||||
+ capture, "Haiku audio capture device", true, QAudioDevice::Input)));
|
||||
+#endif
|
||||
m_audioInputsAdded = true;
|
||||
onAudioInputsChanged();
|
||||
}
|
||||
@@ -255,11 +266,19 @@ void QWasmMediaDevices::getOpenALAudioDevices()
|
||||
auto playback = alcGetString(nullptr, ALC_DEFAULT_DEVICE_SPECIFIER);
|
||||
// present even if there is no playback device
|
||||
if (playback && !m_audioOutputs.contains(capture)) {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
m_audioOutputs.insert(
|
||||
playback,
|
||||
QAudioDevicePrivate::createQAudioDevice(std::make_unique<QWasmAudioDevice>(
|
||||
playback, "WebAssembly audio playback device", true,
|
||||
QAudioDevice::Output)));
|
||||
+#else
|
||||
+ m_audioOutputs.insert(
|
||||
+ playback,
|
||||
+ QAudioDevicePrivate::createQAudioDevice(std::make_unique<QWasmAudioDevice>(
|
||||
+ playback, "Haiku audio playback device", true,
|
||||
+ QAudioDevice::Output)));
|
||||
+#endif
|
||||
onAudioOutputsChanged();
|
||||
}
|
||||
m_firstInit = true;
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
||||
From b74241e65092723f9a5fdcf2c37e2a05906c55a9 Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Thu, 12 Feb 2026 17:18:52 +0100
|
||||
Subject: FFmpeg: Add audio/ogg to the MIME type list
|
||||
|
||||
https://codereview.qt-project.org/c/qt/qtmultimedia/+/712421
|
||||
|
||||
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegmediaformatinfo.cpp b/src/plugins/multimedia/ffmpeg/qffmpegmediaformatinfo.cpp
|
||||
index 9ac7852..e1f71b9 100644
|
||||
--- a/src/plugins/multimedia/ffmpeg/qffmpegmediaformatinfo.cpp
|
||||
+++ b/src/plugins/multimedia/ffmpeg/qffmpegmediaformatinfo.cpp
|
||||
@@ -81,7 +81,8 @@ static constexpr struct
|
||||
// WMA is the same as WMV
|
||||
{ QMediaFormat::FLAC, "audio/x-flac", nullptr },
|
||||
{ QMediaFormat::MP3, "audio/mpeg", "mp3" },
|
||||
- { QMediaFormat::Wave, "audio/x-wav", nullptr }
|
||||
+ { QMediaFormat::Wave, "audio/x-wav", nullptr },
|
||||
+ { QMediaFormat::Wave, "audio/ogg", nullptr }
|
||||
};
|
||||
|
||||
template <typename AVFormat>
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
||||
From 698ab68768b135ffaa9348fb795b39b61ed99e1d Mon Sep 17 00:00:00 2001
|
||||
From: Luc Schrijvers <begasus@gmail.com>
|
||||
Date: Fri, 13 Mar 2026 08:05:33 +0100
|
||||
Subject: QAudioFormat::Float unconditionally to the list of supported formats
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Co-authored-by: Máximo Castañeda <antiswen@yahoo.es>
|
||||
|
||||
diff --git a/src/multimedia/wasm/qwasmaudiodevice.cpp b/src/multimedia/wasm/qwasmaudiodevice.cpp
|
||||
index 8cba6c1..d7afcec 100644
|
||||
--- a/src/multimedia/wasm/qwasmaudiodevice.cpp
|
||||
+++ b/src/multimedia/wasm/qwasmaudiodevice.cpp
|
||||
@@ -30,7 +30,8 @@ QWasmAudioDevice::QWasmAudioDevice(const char *device,
|
||||
supportedSampleFormats.append(QAudioFormat::Int16);
|
||||
|
||||
// Browsers use 32bit floats as native, but emscripten reccomends checking for the exension.
|
||||
- if (alIsExtensionPresent("AL_EXT_float32"))
|
||||
+ // FIXME Haiku
|
||||
+ // if (alIsExtensionPresent("AL_EXT_float32"))
|
||||
supportedSampleFormats.append(QAudioFormat::Float);
|
||||
|
||||
preferredFormat.setChannelCount(2);
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtmultimedia-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c"
|
||||
CHECKSUM_SHA256="93f7ef0106fbd731165a2723f3e436c911fc5e6880f5bc987b55516c20833e2b"
|
||||
SOURCE_DIR="qtmultimedia-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_multimedia-$portVersion.patchset"
|
||||
|
||||
@@ -26,7 +26,6 @@ PROVIDES="
|
||||
lib:libQt6Multimedia$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6MultimediaQuick$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6MultimediaWidgets$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6Quick3DSpatialAudio$secondaryArchSuffix = $libVersionCompat
|
||||
lib:libQt6SpatialAudio$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
@@ -40,9 +39,6 @@ REQUIRES="
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6Qml$secondaryArchSuffix
|
||||
lib:libQt6Quick$secondaryArchSuffix
|
||||
lib:libQt6Quick3D$secondaryArchSuffix
|
||||
lib:libQt6Quick3DUtils$secondaryArchSuffix
|
||||
lib:libQt6Quick3DRuntimeRender$secondaryArchSuffix
|
||||
lib:libQt6QmlModels$secondaryArchSuffix
|
||||
lib:libQt6ShaderTools$secondaryArchSuffix
|
||||
lib:libQt6Svg$secondaryArchSuffix
|
||||
@@ -58,7 +54,6 @@ PROVIDES_devel="
|
||||
devel:libQt6MultimediaQuick$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6MultimediaTestLib$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6MultimediaWidgets$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6Quick3DSpatialAudio$secondaryArchSuffix = $libVersionCompat
|
||||
devel:libQt6SpatialAudio$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
@@ -78,7 +73,6 @@ BUILD_REQUIRES="
|
||||
devel:libQt6Qml$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick3D$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6ShaderTools$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Svg$secondaryArchSuffix == $portVersion
|
||||
devel:libssl$secondaryArchSuffix
|
||||
@@ -91,7 +85,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -112,7 +105,7 @@ BUILD()
|
||||
cmake -B build -S $sourceDir -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_FLAGS=-fPIC \
|
||||
-DFEATURE_linux_dmabuf=OFF \
|
||||
-DFEATURE_linux_dmabuf=ON \
|
||||
-DQT_GENERATE_SBOM=ON \
|
||||
-Wno-dev
|
||||
|
||||
@@ -132,7 +125,6 @@ INSTALL()
|
||||
libQt6MultimediaQuick \
|
||||
libQt6MultimediaTestLib \
|
||||
libQt6MultimediaWidgets \
|
||||
libQt6Quick3DSpatialAudio \
|
||||
libQt6SpatialAudio
|
||||
|
||||
# fix pkgconfig files
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtnetworkauth-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="fac708b4227d4964d1d127cc6330b103a59a422a1e8334752506c454f7feb418"
|
||||
CHECKSUM_SHA256="4f29fd9e4b505f5714fc42296b04c701f66ced185c49de4d520cb8de4b1981b3"
|
||||
SOURCE_DIR="qtnetworkauth-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -56,7 +56,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtpositioning-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="c00b4c01d92bf99c5562910aab59f80146b976cdb1dcb7bd2f27833624605ed1"
|
||||
CHECKSUM_SHA256="7051fa64477c66769840cad396fc3772a01ba5516363c8842a7a513fa0c4cdce"
|
||||
SOURCE_DIR="qtpositioning-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -59,7 +59,6 @@ BUILD_REQUIRES="
|
||||
devel:libQt6QmlModels$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6SerialPort$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Svg$secondaryArchSuffix == $portVersion
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
@@ -69,7 +68,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -11,7 +11,7 @@ LICENSE="BSD (3-clause)
|
||||
GNU GPL v3"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/qt/qtmqtt/archive/refs/tags/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="7cdec84ca17ad2bd9d47418ca98820705a7798895a2315b5c20c46528a29547e"
|
||||
CHECKSUM_SHA256="884925fc6fa116f0cc4f1db80335daaf249ada5fbba30186536ed6329dc6032a"
|
||||
SOURCE_DIR="qtmqtt-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -28,6 +28,7 @@ REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Network$secondaryArchSuffix
|
||||
lib:libQt6WebSockets$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
@@ -40,9 +41,9 @@ REQUIRES_devel="
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libQt6Core$secondaryArchSuffix
|
||||
devel:libQt6Quick$secondaryArchSuffix
|
||||
devel:libQt6WebSockets$secondaryArchSuffix
|
||||
devel:libQt6Core$secondaryArchSuffix == $libVersion
|
||||
devel:libQt6Quick$secondaryArchSuffix == $libVersion
|
||||
devel:libQt6WebSockets$secondaryArchSuffix == $libVersion
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquick3d-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="a295268fdca5aeaab6bb4bb1a0a4d2720b19679ab5145c5185dac7ac3399e488"
|
||||
CHECKSUM_SHA256="b95439f31d1e580c379e9828b48b03b932b0bdade4ff09f4dd639eff9da2cd75"
|
||||
SOURCE_DIR="qtquick3d-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -1,4 +1,4 @@
|
||||
From d63093325035dbd1ad13fef4ac97d0486fa32e96 Mon Sep 17 00:00:00 2001
|
||||
From b26b783c8a0431a373ca05e73408ec8496c506e5 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Wed, 4 Sep 2024 22:58:42 +1000
|
||||
Subject: Add Haiku support
|
||||
@@ -31,10 +31,10 @@ index 4b75756..9054315 100644
|
||||
#elif PX_XBOXONE
|
||||
#include "foundation/XboxOne/PxXboxOneIntrinsics.h"
|
||||
diff --git a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
|
||||
index 630c7c0..59bd337 100644
|
||||
index 105e96f..6a8a7e6 100644
|
||||
--- a/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
|
||||
+++ b/src/3rdparty/PhysX/pxshared/include/foundation/PxPreprocessor.h
|
||||
@@ -104,6 +104,8 @@ Operating system defines, see http://sourceforge.net/p/predef/wiki/OperatingSyst
|
||||
@@ -101,6 +101,8 @@ Operating system defines, see http://sourceforge.net/p/predef/wiki/OperatingSyst
|
||||
#define PX_IOS 1
|
||||
#elif defined(__APPLE__)
|
||||
#define PX_OSX 1
|
||||
@@ -43,7 +43,7 @@ index 630c7c0..59bd337 100644
|
||||
#elif defined(__ORBIS__)
|
||||
#define PX_PS4 1
|
||||
#elif defined(__NX__)
|
||||
@@ -194,6 +196,9 @@ define anything not defined on this platform to 0
|
||||
@@ -191,6 +193,9 @@ define anything not defined on this platform to 0
|
||||
#ifndef PX_OSX
|
||||
#define PX_OSX 0
|
||||
#endif
|
||||
@@ -53,7 +53,7 @@ index 630c7c0..59bd337 100644
|
||||
#ifndef PX_PS4
|
||||
#define PX_PS4 0
|
||||
#endif
|
||||
@@ -269,7 +274,7 @@ family shortcuts
|
||||
@@ -266,7 +271,7 @@ family shortcuts
|
||||
#define PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY || PX_XBOX_SERIES_X)
|
||||
#define PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
|
||||
#define PX_APPLE_FAMILY (PX_IOS || PX_OSX) // equivalent to #if __APPLE__
|
||||
@@ -62,7 +62,7 @@ index 630c7c0..59bd337 100644
|
||||
#if defined(__EMSCRIPTEN__)
|
||||
#define PX_EMSCRIPTEN 1
|
||||
#else
|
||||
@@ -307,7 +312,7 @@ Assert macro
|
||||
@@ -304,7 +309,7 @@ Assert macro
|
||||
DLL export macros
|
||||
*/
|
||||
#ifndef PX_C_EXPORT
|
||||
@@ -241,5 +241,5 @@ index 46034b0..58b4059 100644
|
||||
#else
|
||||
return typeid(T).name();
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquick3dphysics-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="5f1e2f7e591faf14d0d7e6e397a15707a7b8536e52cb3c07ce3425ddf55826a0"
|
||||
CHECKSUM_SHA256="b7aff67bd05794351d7c19b178c54b674afc3ea2b4632df892aaee98f12c1cdb"
|
||||
SOURCE_DIR="qtquick3dphysics-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_quick3dphysics-$portVersion.patchset"
|
||||
|
||||
@@ -73,7 +73,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtquicktimeline-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="339f2cdd0b731615a215534799ed865e222fc797f431ad4a6677a6d5c862e648"
|
||||
CHECKSUM_SHA256="7032d8b758d21fdf790dde0d070e1c82819abcf5ee7194dbf21589dbdfd36324"
|
||||
SOURCE_DIR="qtquicktimeline-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -66,7 +66,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -82,7 +81,7 @@ BUILD()
|
||||
cmake -B build -S $sourceDir -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_FLAGS=-fPIC \
|
||||
-DQT_GENERATE_SBOM=OFF \
|
||||
-DQT_GENERATE_SBOM=ON \
|
||||
-Wno-dev
|
||||
|
||||
find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \;
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtscxml-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="a73bb5241c124d776d79ea24749d707b71365e395d8af3382a1f1c43a69a6892"
|
||||
CHECKSUM_SHA256="0f9c178db3f1b1b06d20172aaaa4d7f5513bcb99de01f880c29e23b5ffdd236a"
|
||||
SOURCE_DIR="qtscxml-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -70,7 +70,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -1,4 +1,4 @@
|
||||
From 0a3498309577409e152926ffeb09daa0fcca02d3 Mon Sep 17 00:00:00 2001
|
||||
From aa289a7053c97a43612232238815b7e2551914e2 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 7 Nov 2021 10:47:17 +1000
|
||||
Subject: Don't link with librt for Haiku
|
||||
@@ -18,5 +18,5 @@ index 19f9332..2e97baf 100644
|
||||
rt
|
||||
)
|
||||
--
|
||||
2.48.1
|
||||
2.52.0
|
||||
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtsensors-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="a46137c1f4a768d00397a2f83de7018318b0ca35d39c848da62d1783b368e467"
|
||||
CHECKSUM_SHA256="91e6515b7cebbfae3696861933f5359cc303dfe82f7849cf5a10df378c8ef581"
|
||||
SOURCE_DIR="qtsensors-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_sensors-$portVersion.patchset"
|
||||
|
||||
@@ -71,7 +71,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -1,11 +1,11 @@
|
||||
From d363728f18a4647807c2828989553c981b413d69 Mon Sep 17 00:00:00 2001
|
||||
From 9815e10b39d63d6433e66e311d78e93e0b44b358 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
|
||||
Date: Mon, 11 Feb 2019 15:53:20 +1000
|
||||
Subject: Add filteredDeviceFilePaths for Haiku's /dev/ports/*
|
||||
|
||||
|
||||
diff --git a/src/serialport/qserialportinfo_unix.cpp b/src/serialport/qserialportinfo_unix.cpp
|
||||
index 0fb209f..91e26e6 100644
|
||||
index 8721278..da10678 100644
|
||||
--- a/src/serialport/qserialportinfo_unix.cpp
|
||||
+++ b/src/serialport/qserialportinfo_unix.cpp
|
||||
@@ -47,13 +47,19 @@ static QStringList filteredDeviceFilePaths()
|
||||
@@ -30,5 +30,5 @@ index 0fb209f..91e26e6 100644
|
||||
deviceDir.setNameFilters(deviceFileNameFilterList);
|
||||
deviceDir.setFilter(QDir::Files | QDir::System | QDir::NoSymLinks);
|
||||
--
|
||||
2.48.1
|
||||
2.51.0
|
||||
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtserialport-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="fbe762f5ca6b3e58fbbf51604928b50cf14628b670eaeab57751e07a4086b954"
|
||||
CHECKSUM_SHA256="b40cbf29da111ffa8fee7e7cb44b9097042782cd17a10448a83ff3156cdebd6b"
|
||||
SOURCE_DIR="qtserialport-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_serialport-$portVersion.patchset"
|
||||
|
||||
@@ -42,7 +42,7 @@ REQUIRES_devel="
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libQt6Core$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Core$secondaryArchSuffix == $libVersion
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
@@ -50,7 +50,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -3,14 +3,14 @@ DESCRIPTION="The Qt Shader Tools module builds on the SPIR-V Open Source Ecosyst
|
||||
at the Khronos SPIR-V web site. For compiling into SPIR-V glslang is used, while translating \
|
||||
and reflecting is done via SPIRV-Cross."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtshadertools-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb"
|
||||
CHECKSUM_SHA256="18d9dbbc4f7e6e96e6ed89a9965dc032e2b58158b65156c035537826216716c9"
|
||||
SOURCE_DIR="qtshadertools-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -51,7 +51,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
31
dev-qt/qt6-speech/patches/qt6_speech-6.10.2.patchset
Normal file
31
dev-qt/qt6-speech/patches/qt6_speech-6.10.2.patchset
Normal file
@@ -0,0 +1,31 @@
|
||||
From f70bdaefde863cba8f00942c2dd8750a915061b6 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 15 Apr 2024 20:51:10 +1000
|
||||
Subject: Fix flite voices path
|
||||
|
||||
|
||||
diff --git a/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp b/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
|
||||
index 7ad2691..c53aed4 100644
|
||||
--- a/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
|
||||
+++ b/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
|
||||
@@ -92,6 +92,8 @@ QStringList fliteAvailableVoices(const QString &libPrefix, const QString &langCo
|
||||
u"/usr/lib"_s,
|
||||
u"/usr/local/lib"_s,
|
||||
u"/lib"_s,
|
||||
+ u"/system/lib"_s,
|
||||
+ u"/system/lib/x86"_s,
|
||||
};
|
||||
} else {
|
||||
ldPaths.removeDuplicates();
|
||||
@@ -336,7 +338,7 @@ bool QTextToSpeechProcessorFlite::init()
|
||||
// We could source the language and perhaps the list of voices we want to load
|
||||
// (hardcoded below) from an environment variable.
|
||||
const QString langCode(u"us"_s);
|
||||
- const QString libPrefix(u"flite_cmu_%1_%2.so.1"_s);
|
||||
+ const QString libPrefix(u"flite_cmu_%1_%2.so.2"_s);
|
||||
const QString registerPrefix(u"register_cmu_%1_%2"_s);
|
||||
const QString unregisterPrefix(u"unregister_cmu_%1_%2"_s);
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
From 927bbbb6fda2f5446683aa9d54031ae67f096921 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 15 Apr 2024 20:51:10 +1000
|
||||
Subject: Fix flite voices path
|
||||
|
||||
|
||||
diff --git a/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp b/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
|
||||
index 99c263e..539eef8 100644
|
||||
--- a/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
|
||||
+++ b/src/plugins/tts/flite/qtexttospeech_flite_processor.cpp
|
||||
@@ -224,7 +224,7 @@ bool QTextToSpeechProcessorFlite::init()
|
||||
// We could source the language and perhaps the list of voices we want to load
|
||||
// (hardcoded below) from an environment variable.
|
||||
const QLatin1StringView langCode("us");
|
||||
- const QLatin1StringView libPrefix("flite_cmu_%1_%2.so.1");
|
||||
+ const QLatin1StringView libPrefix("flite_cmu_%1_%2.so.2");
|
||||
const QLatin1StringView registerPrefix("register_cmu_%1_%2");
|
||||
const QLatin1StringView unregisterPrefix("unregister_cmu_%1_%2");
|
||||
|
||||
@@ -273,7 +273,8 @@ QStringList QTextToSpeechProcessorFlite::fliteAvailableVoices(const QString &lib
|
||||
QStringList ldPaths = pe.value("LD_LIBRARY_PATH"_L1).split(":", Qt::SkipEmptyParts);
|
||||
if (ldPaths.isEmpty()) {
|
||||
ldPaths = QStringList{"/usr/lib64"_L1, "/usr/local/lib64"_L1, "/lib64"_L1,
|
||||
- "/usr/lib/x86_64-linux-gnu"_L1, "/usr/lib"_L1};
|
||||
+ "/usr/lib/x86_64-linux-gnu"_L1, "/usr/lib"_L1,
|
||||
+ "/system/lib"_L1, "/system/lib/x86"_L1};
|
||||
} else {
|
||||
ldPaths.removeDuplicates();
|
||||
}
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtspeech-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="a981b68c71743d77a3ce4437ad118d3851390f05a1ab26a859fb9b8c5938c971"
|
||||
CHECKSUM_SHA256="d937f6c715792b0d8f036e94513ebfc8def6b988a65f3ff30a7f4a8cc1263014"
|
||||
SOURCE_DIR="qtspeech-everywhere-src-$portVersion"
|
||||
PATCHES="qt6_speech-$portVersion.patchset"
|
||||
|
||||
@@ -60,7 +60,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtsvg-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc"
|
||||
CHECKSUM_SHA256="f07ff80f38caf235187200345392ca7479445ddf49a36c3694cd52a735dad6e1"
|
||||
SOURCE_DIR="qtsvg-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -61,7 +61,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -2,14 +2,14 @@ SUMMARY="A cross-platform application and UI framework (Development Tools, QtHel
|
||||
DESCRIPTION="The QtTools modules contains some tools mostly useful for application development. \
|
||||
Included are Qt Designer (GUI design), QDbusViewer and more."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qttools-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="fa645589cc3f939022401a926825972a44277dead8ec8607d9f2662e6529c9a4"
|
||||
CHECKSUM_SHA256="1e3d2c07c1fd76d2425c6eaeeaa62ffaff5f79210c4e1a5bc2a6a9db668d5b24"
|
||||
SOURCE_DIR="qttools-everywhere-src-$portVersion"
|
||||
ADDITIONAL_FILES="
|
||||
Assistant.rdef.in
|
||||
@@ -69,7 +69,7 @@ PROVIDES_devel="
|
||||
"
|
||||
REQUIRES_devel="
|
||||
qt6_tools$secondaryArchSuffix == $portVersion base
|
||||
haiku$secondaryArchSuffix
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
@@ -97,7 +97,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qttranslations-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="1d5581ef5fc7c7bc556f2403017983683993bbebfcdf977ef8f180f604668c3f"
|
||||
CHECKSUM_SHA256="b3b3813bc9d76b545716dc8b6e659fa71b6e2bc14569e9fab6dab8b30650a644"
|
||||
SOURCE_DIR="qttranslations-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -39,7 +39,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtwebchannel-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="10519a9cdde17a7d955f332480c6bcd1202e4b2c48fd94eb31efaa21d0fabfee"
|
||||
CHECKSUM_SHA256="e31ea59f8e19e0374d54fdc7a8479c840acffc4ba5297ee43564b5158a4f2c27"
|
||||
SOURCE_DIR="qtwebchannel-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -68,7 +68,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtwebsockets-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="6b3add7cacf3a4e0b448d5e69d9dac42795fef63309038af1dc5a454ce514940"
|
||||
CHECKSUM_SHA256="eccc751bea509ef656d20029693987a0fc03c58e21c38f1351480f3c8eb42ebd"
|
||||
SOURCE_DIR="qtwebsockets-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -64,7 +64,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -4,14 +4,14 @@ used for developing software with a graphical user interface, and also used \
|
||||
for developing non-GUI programs such as command-line tools and consoles for \
|
||||
servers."
|
||||
HOMEPAGE="https://qt.io/"
|
||||
COPYRIGHT="2015-2025 The Qt Company Ltd."
|
||||
COPYRIGHT="2015-2026 The Qt Company Ltd."
|
||||
LICENSE="GNU LGPL v2.1
|
||||
GNU LGPL v3
|
||||
GNU FDL v1"
|
||||
REVISION="1"
|
||||
QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive"
|
||||
QT_MIRROR_URI="https://download.qt.io/official_releases"
|
||||
SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtwebview-everywhere-src-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="5b24070e8ceb12c3c4df5a887f3ffc3544193646386e6ce18e41c20d42d7ed6b"
|
||||
CHECKSUM_SHA256="7ec406ff0998900ccef0ff8e4e5b1fbf15e4e18f3b43eb72e8b2aeda0dd0eab4"
|
||||
SOURCE_DIR="qtwebview-everywhere-src-$portVersion"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
@@ -63,7 +63,6 @@ BUILD_PREREQUIRES="
|
||||
cmd:find
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
@@ -105,9 +104,6 @@ INSTALL()
|
||||
ln -fs $i $(echo $i | cut -f1,2 -d.)
|
||||
done
|
||||
|
||||
# cleanup
|
||||
rmdir $libDir/Qt6
|
||||
|
||||
packageEntries devel \
|
||||
$developDir \
|
||||
$libDir/cmake \
|
||||
Reference in New Issue
Block a user