Bug 274505

Summary: */*: Treewide, update non helper based CMake build dependency definitions
Product: Ports & Packages Reporter: Daniel Engberg <diizzy>
Component: Ports FrameworkAssignee: Port Management Team <portmgr>
Status: Open ---    
Severity: Affects Some People CC: arrowd, diizzy, grahamperrin, jhale, makc, ports-bugs, tcberner
Priority: --- Flags: bugzilla: maintainer-feedback? (kde)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Patch for BUILD_DEPENDS entries none

Description Daniel Engberg freebsd_committer freebsd_triage 2023-10-15 21:32:37 UTC
Created attachment 245650 [details]
Patch for BUILD_DEPENDS entries

Ports that defines CMake as a build dependency using BUILD_DEPENDS should match Mk/Uses/cmake.mk so cmake:devel/cmake-core should say ${LOCALBASE}/bin/cmake:devel/cmake-core

Reference:
https://cgit.freebsd.org/ports/tree/Mk/Uses/cmake.mk#n64

Tested using Poudriere bulk
Comment 1 Max Brazhnikov freebsd_committer freebsd_triage 2023-10-15 22:51:04 UTC
Considering there are already over 50 ports which use cmake in peculiar way within their build systems, and suspecting more ports to come, I would add new argument to USES=cmake to handle this case and to hide details from the consumers.
Comment 2 Tobias C. Berner freebsd_committer freebsd_triage 2023-10-16 05:08:09 UTC
(In reply to Max Brazhnikov from comment #1)
agreed, this feels like cmake:noconfigure or something :)
Comment 3 Jason E. Hale freebsd_committer freebsd_triage 2023-10-16 05:48:03 UTC
(In reply to Max Brazhnikov from comment #1)
+1 I think a cmake:noenv may be more appropriate to keep things consistent for future ports. I have yet to look at the individual ports in question, but enabling features like CMAKE_ON/OFF might be useful.
Comment 4 Daniel Engberg freebsd_committer freebsd_triage 2023-10-22 20:14:01 UTC
Not sure how to go about this without sprinkling a bunch .if statments in cmake.mk which I'd rather avoid.
Comment 5 Max Brazhnikov freebsd_committer freebsd_triage 2023-10-23 18:40:25 UTC
(In reply to Daniel Engberg from comment #4)
Daniel, I don't see how you could avoid this except shrinking away :)
The principal task here is to figure out what bits of cmake.mk those ports do need (besides build dependence on cmake binary). Creating new arg for USES=cmake is not a big deal really.
Comment 6 Gleb Popov freebsd_committer freebsd_triage 2024-03-26 13:56:08 UTC
Can we please reinterate why simple BUILD_DEPENDS is not enough?
Comment 7 Max Brazhnikov freebsd_committer freebsd_triage 2024-03-27 08:50:19 UTC
https://reviews.freebsd.org/D44509