aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason E. Hale <jhale@FreeBSD.org>2025-08-21 00:06:27 +0000
committerJason E. Hale <jhale@FreeBSD.org>2025-08-21 00:12:45 +0000
commitf83fa7a95730725b45fa878a125762747be9c06c (patch)
treeceacd24ea7a8fb302a7d8ab27a0e3f889b21ce4d
parentc225d176ac4d4f48b88435138f37038a4d29353b (diff)
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]
-rw-r--r--devel/qbs/Makefile1
-rw-r--r--devel/qbs/files/patch-share_qbs_modules_cpp_freebsd.js22
-rw-r--r--devel/qbs/files/patch-src_app_qbs-setup-qt_setupqt.cpp4
-rw-r--r--devel/qbs/files/patch-src_lib_corelib_tools_scripttools.h20
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;