git: f83fa7a95730 - main - devel/qbs: Fix build on i386 [1]
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 21 Aug 2025 00:12:54 UTC
The branch main has been updated by jhale:
URL: https://cgit.FreeBSD.org/ports/commit/?id=f83fa7a95730725b45fa878a125762747be9c06c
commit f83fa7a95730725b45fa878a125762747be9c06c
Author: Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-08-21 00:06:27 +0000
Commit: Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-08-21 00:12:45 +0000
devel/qbs: Fix build on i386 [1]
In file included from /wrkdirs/usr/ports/devel/qbs/work/qbs-src-3.0.1/src/lib/corelib/api/internaljobs.cpp:52:
In file included from /wrkdirs/usr/ports/devel/qbs/work/qbs-src-3.0.1/src/lib/corelib/language/scriptengine.h:52:
/wrkdirs/usr/ports/devel/qbs/work/qbs-src-3.0.1/src/lib/corelib/tools/scripttools.h:193:47: error:
member reference base type 'const JSValue' (aka 'const unsigned long long') is not a structure or union
193 | operator bool() const { return m_exception.tag != JS_TAG_UNINITIALIZED; }
| ~~~~~~~~~~~^~~~
Add upstream patch to support -STABLE and -CURRENT.
Reported by: pkg-fallout [1]
---
devel/qbs/Makefile | 1 +
.../files/patch-share_qbs_modules_cpp_freebsd.js | 22 ++++++++++++++++++++++
.../files/patch-src_app_qbs-setup-qt_setupqt.cpp | 4 ++--
.../patch-src_lib_corelib_tools_scripttools.h | 20 ++++++++++++++++++++
4 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/devel/qbs/Makefile b/devel/qbs/Makefile
index 982246a8eacb..4bf89ff0500d 100644
--- a/devel/qbs/Makefile
+++ b/devel/qbs/Makefile
@@ -1,6 +1,7 @@
PORTNAME= qbs
DISTVERSIONPREFIX= src-
DISTVERSION= 3.0.1
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= QT/official_releases/${PORTNAME}/${PORTVERSION}
DIST_SUBDIR= KDE/Qt/qbs
diff --git a/devel/qbs/files/patch-share_qbs_modules_cpp_freebsd.js b/devel/qbs/files/patch-share_qbs_modules_cpp_freebsd.js
new file mode 100644
index 000000000000..8cc059c53135
--- /dev/null
+++ b/devel/qbs/files/patch-share_qbs_modules_cpp_freebsd.js
@@ -0,0 +1,22 @@
+freebsd: fix support for STABLE and CURRENT releases
+
+https://code.qt.io/cgit/qbs/qbs.git/commit/?h=3.0&id=a0dfa99c6071fede3be6522102818839a7f8365a
+
+--- share/qbs/modules/cpp/freebsd.js.orig 2025-06-20 12:42:25 UTC
++++ share/qbs/modules/cpp/freebsd.js
+@@ -1,8 +1,13 @@ function stripKernelReleaseSuffix(r) {
+ var Utilities = require("qbs.Utilities");
+
+ function stripKernelReleaseSuffix(r) {
+- var idx = r.indexOf("-RELEASE");
+- return idx >= 0 ? r.substr(0, idx) : r;
++ var suffixes = ["-RELEASE", "-STABLE", "-CURRENT"];
++ for (var i = 0; i < suffixes.length; i++) {
++ var idx = r.indexOf(suffixes[i]);
++ if (idx >= 0)
++ return r.substr(0, idx);
++ }
++ return r;
+ }
+
+ function hostKernelRelease() {
diff --git a/devel/qbs/files/patch-src_app_qbs-setup-qt_setupqt.cpp b/devel/qbs/files/patch-src_app_qbs-setup-qt_setupqt.cpp
index 7824f9aba426..85d9fbbc44f2 100644
--- a/devel/qbs/files/patch-src_app_qbs-setup-qt_setupqt.cpp
+++ b/devel/qbs/files/patch-src_app_qbs-setup-qt_setupqt.cpp
@@ -1,6 +1,6 @@
---- src/app/qbs-setup-qt/setupqt.cpp.orig 2021-11-28 22:25:29 UTC
+--- src/app/qbs-setup-qt/setupqt.cpp.orig 2025-06-20 12:42:25 UTC
+++ src/app/qbs-setup-qt/setupqt.cpp
-@@ -70,7 +70,7 @@ static QStringList qmakeExecutableNames()
+@@ -71,7 +71,7 @@ static QStringList qmakeExecutableNames()
{
const QString baseName = HostOsInfo::appendExecutableSuffix(QStringLiteral("qmake"));
QStringList lst(baseName);
diff --git a/devel/qbs/files/patch-src_lib_corelib_tools_scripttools.h b/devel/qbs/files/patch-src_lib_corelib_tools_scripttools.h
new file mode 100644
index 000000000000..e573f303ff5b
--- /dev/null
+++ b/devel/qbs/files/patch-src_lib_corelib_tools_scripttools.h
@@ -0,0 +1,20 @@
+Fix build on i386.
+
+In file included from /wrkdirs/usr/ports/devel/qbs/work/qbs-src-3.0.1/src/lib/corelib/api/internaljobs.cpp:52:
+In file included from /wrkdirs/usr/ports/devel/qbs/work/qbs-src-3.0.1/src/lib/corelib/language/scriptengine.h:52:
+/wrkdirs/usr/ports/devel/qbs/work/qbs-src-3.0.1/src/lib/corelib/tools/scripttools.h:193:47: error:
+member reference base type 'const JSValue' (aka 'const unsigned long long') is not a structure or union
+ 193 | operator bool() const { return m_exception.tag != JS_TAG_UNINITIALIZED; }
+ | ~~~~~~~~~~~^~~~
+
+--- src/lib/corelib/tools/scripttools.h.orig 2025-06-20 12:42:25 UTC
++++ src/lib/corelib/tools/scripttools.h
+@@ -190,7 +190,7 @@ class QBS_AUTOTEST_EXPORT JsException (public)
+ JsException(const JsException &) = delete;
+ JsException &operator=(const JsException &) = delete;
+
+- operator bool() const { return m_exception.tag != JS_TAG_UNINITIALIZED; }
++ operator bool() const { return !JS_IsUninitialized(m_exception); }
+ QString message() const;
+ const QStringList stackTrace() const;
+ ErrorInfo toErrorInfo() const;