tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [PATCH] cmake/build.mk: Hide non-buildlink3 libraries from cmake
> Date: Sun, 12 Jan 2025 08:59:03 +0000
> From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
>
> * archivers/kf6-karchive (ditto various other kf6-* packages)
>
> CMake Error at /tmp/pkgbuild/2024Q4/archivers/kf6-karchive/work/.buildlink/qt6/lib/cmake/Qt6CoreTools/Qt6CoreToolsTargets.cmake:197 (message):
> The imported target "Qt6::syncqt" references the file
>
> "/tmp/pkgbuild/2024Q4/archivers/kf6-karchive/work/.buildlink/qt6/libexec/syncqt"
>
> but this file does not exist. [...]
The attached patch to x11/qt6-qtbase/buildlink3.mk enables
kf6-karchive to build by adding qt6/bin/* and qt6/libexec/* to
BUILDLINK_FILES.qt6-qtbase. I suspect it will resolve a lot of these
issues, so I'll kick off another bulk build with that change shortly.
Unfortunately, it is _wrong_ to do that, for reasons in another thread
(https://mail-index.netbsd.org/tech-pkg/2025/01/12/msg030374.html).
But I think I'd like to commit it in this patch series anyway as a
temporary workaround because:
(a) without TOOL_DEPENDS, these packages probably didn't cross-build
anyway, so I doubt this change will cause a regression in that;
(b) the BUILDLINK_DEPMETHOD.foo=build issue isn't made any worse by
this change; and
(c) I don't expect to have the buildlink3.mk -> tool.mk changes ready
for a while, but the cmake change is getting close.
Later, we can add the appropriate TOOL_DEPENDS and populate the
qt6/bin and qt6/libexec directories some other way.
Perhaps it will also resolve some of the other issues. x11/qt5-qtbase
probably needs the same treatment.
From 0741a5c01718db524222754e7eb36d732f8383d2 Mon Sep 17 00:00:00 2001
From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
Date: Sun, 12 Jan 2025 17:26:45 +0000
Subject: [PATCH] x11/qt6-qtbase: Expose qt6/bin/ and qt6/libexec/ to builds.
This is not right, but it mitigates a regression LOCALBASE is hidden
from cmake, and it can be done properly later along with everything
else that also abuses BUILDLINK_FILES for executables.
---
x11/qt6-qtbase/buildlink3.mk | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/x11/qt6-qtbase/buildlink3.mk b/x11/qt6-qtbase/buildlink3.mk
index e724119b6556..d6690dfb9ff5 100644
--- a/x11/qt6-qtbase/buildlink3.mk
+++ b/x11/qt6-qtbase/buildlink3.mk
@@ -13,6 +13,15 @@ BUILDLINK_INCDIRS.qt6-qtbase+= qt6/include
BUILDLINK_LIBDIRS.qt6-qtbase+= qt6/lib
BUILDLINK_LIBDIRS.qt6-qtbase+= qt6/plugins
+# XXX This is wrong -- we should get build-time executables via
+# TOOL_DEPENDS, not via buildlink3. See
+# https://mail-index.netbsd.org/tech-pkg/2025/01/12/msg030374.html for
+# details. We do this anyway for now as an expedient workaround for a
+# bug unearthed by hiding files in LOCALBASE from cmake and limiting it
+# to buildlink3.
+BUILDLINK_FILES.qt6-qtbase+= qt6/bin/*
+BUILDLINK_FILES.qt6-qtbase+= qt6/libexec/*
+
# \todo Fix duplication with prefix coded in Makefile.common
QTDIR= ${BUILDLINK_PREFIX.qt6-qtbase}/qt6
CMAKE_PREFIX_PATH+= ${QTDIR}
Home |
Main Index |
Thread Index |
Old Index