Page MenuHomeFreeBSD

*_WRKSRC handling improvements
Needs ReviewPublic

Authored by AMDmi3 on Apr 23 2015, 1:14 PM.
Tags
None
Referenced Files
Unknown Object (File)
May 9 2024, 2:45 PM
Unknown Object (File)
Dec 29 2023, 1:09 AM
Unknown Object (File)
Dec 20 2023, 12:02 AM
Unknown Object (File)
Nov 6 2023, 1:40 AM
Unknown Object (File)
Sep 13 2023, 10:44 PM
Unknown Object (File)
Jun 24 2023, 10:51 PM
Unknown Object (File)
May 25 2023, 3:55 PM
Unknown Object (File)
Apr 16 2017, 9:48 PM
Subscribers
None

Details

Reviewers
tijl
bapt
bdrewery
Group Reviewers
portmgr
Summary

There are two features I'd like to improve in *_WRKSRC handling.

  1. Currently

CONFIGURE_WRKSRC= ${WRKSRC}
BUILD_WRKSRC= ${WRKSRC}
INSTALL_WRKSRC= ${WRKSRC}

while it's better to chain them:

CONFIGURE_WRKSRC= ${WRKSRC}
BUILD_WRKSRC= ${BUILD_WRKSRC}
INSTALL_WRKSRC= ${INSTALL_WRKSRC}

as if CONFIGURE_WRKSRC changes, it's probable BUILD_WRKSRC will be changes in the same way. The same for INSTALL_WRKSRC.

Most ports have to change all three directories, there are 144 cases of _WRKSRC=.*_WRKSRC in the portstree.

This makes *_WRKSRC handling more consistent with some Uses/*, as cmake.mk and qmake.mk already use this scheme.

  1. Make it possible to stick multiple values into {CONFIGURE,BUILD,INSTALL}_WRKSRC

This idea came to me while investigating problem with devel/tex-web2c: it calls additional configure but doesn't pass CC/CXX/CFLAGS/... to it, as these are not passed via CONFIGURE_ENV

There are at least 16 cases in the portstree where additional configures are called.

Note that this is not a complete patch yet, but just a demonstartion of the idea. While (2) is probably no-op now, (1) requres changing some ports which rely on an old logic. If the idea is approved I'll process these ports as well

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

AMDmi3 retitled this revision from to *_WRKSRC handling improvements.
AMDmi3 updated this object.
AMDmi3 edited the test plan for this revision. (Show Details)
AMDmi3 added reviewers: bapt, bdrewery, tijl.

I'm confused on this. I at first was fine with the idea of chaining them, assuming ports were going to need less code after that. There's no port examples though.

I'm confused why we need to support multiple directories like this. Nothing seems improved in this patch; There's more code added than removed in all touched places.

Perhaps I need to see some specific port examples where this cleanup is a benefit.

I agree with @bdrewery here please elaborate a bit :)