Converting bsd.xorg.mk, USE_XORG and XORG_CAT to USES=xorg and USES=xorg-cat. This needs an exp-run. Patch can be found in the following review:
What is the status of this? It's been almost 2 weeks and I haven't heard anything?
Looking at the phabricator review, everything has been taken care of, and tijl has accepted the solution to the issues I had with libtool and autoreconf, as can be seen here: https://reviews.freebsd.org/D20724#451574 .
The only thing is tcberner@ asked about the variable names, and the backwards compat code to allow USE_XORG= without USES=xorg, but those should not stop the exp run.
Patch has been updated in phabricator. I believe it's ready for an exp-run.
Exp-run looks fine
A commit references this bug:
Date: Mon Aug 26 09:45:18 UTC 2019
New revision: 509895
Change bsd.xorg.mk to USES=xorg and USES=xorg-cat
Change the handling of xorg dependencies to use the USES framework instead
of bsd.xorg.mk. bsd.xorg.mk is split into two parts:
* USES=xorg for ports depending on xorg ports with USE_XORG
* USES=xorg-cat for xorg ports with XORG_CAT
USES=xorg is fairly straight forward. The components needed are specified
with USE_XORG, and USES=xorg is needed to pull in this part of the
USES=xorg-cat requires that the category, previously specified with
XORG_CAT, now be passed as an argument to xorg-cat, like this
USES=xorg-cat:category. Not specifying a category is an error.
Further, it is also possible to specify which build system to use. The
default if nothing is specified is autoconf, but meson will also be supported.
This is added with a second argument: USES=xorg-cat:category[,buildsystem].
* Add support in Uses/xorg-cat.mk to specify build system. Previously, only
autoconf was supported for xorg ports, but with this change, it's possible
to use meson instead. Autoconf is still the defaultx, if nothing else is
specified. The meson support is still disabled, and requires more testing.
* Add support in Uses/xorg-cat.mk to pull sources from freedesktop.org
When specifying USE_GITLAB in a port using xorg-cat, then various GL_*
variables will be set up automatically, as well as needed changes to the
* Switch x11-drivers/xf86-video-intel to use the USE_GITLAB framework.
* While touching xf86-video-intel, switch to USES=xorg xorg-cat:driver, and
* Add compat shims and warnings to bsd.port.mk, which will handle the old
style ports Makefiles.
* Change Uses/gl.mk and Uses/motif.mk to use this new framework.
* Change Uses/autoreconf.mk to check and add dependencies later. This is
needed because xorg-cat uses autoreconf, and without this fix
dependencies were not added properly.
* Be stricter about checking for arguments in USE_XORG, previously, :build
and :run were accepted, but not supported. Only the default or :both
* Change multimedia/gstreamer1-vaapi to handle the stricter argument
checking in USE_XORG, and add USES=xorg
* change x11/xscope to get distinfo from xorg-cat, instead of rolling it's
own, and add USES=xorg-cat
PR: 238988 (exp-run)
Reviewed by: antoine, tcberner, tijl, mat, tobik
Approved by: portmgr (antoine)
Obtained from: FreeBSD Graphics Team development repo
Sponsored by: B3 Init (zeising)
Differential Revision: https://reviews.freebsd.org/D20724
Changes have been committed. Thanks for the help with the exp run!
I'll keep this PR open for a little while, in case there's fallout.
USES=gl now seems to produce warnings that "Using USE_XORG alone is deprecated, please use USES=xorg" from bsd.port.mk:1923 even when port's Makefile doesn't define USE_XORG (example port: devel/liteide)
Does USES=gl now imply that xorg is also required in USES?
(In reply to Dmitri Goutnik from comment #6)
That is not normal. USES=gl pulls in xorg components in certain cases, but it's handled by the framework. I have to look into this spurious warning.
Created attachment 207543 [details]
(In reply to Niclas Zeising from comment #7)
> That is not normal. USES=gl pulls in xorg components in certain cases, but it's handled by the framework. I have to look into this spurious warning.
Did you find a way to avoid it? It is very annoying. Bogus QA
warnings are not good and waste time.
I do not see how the warning could be avoided without creating new
false warnings elsewhere or doing some really complicated things.
IMHO we should keep this simple and move the USE_XORG=xorgproto
stuff out of gl.mk. See the attached patch.
(In reply to Tobias Kortkamp from comment #8)
The issue, if I've figured out things correctly, is the compat stuff in bsd.port.mk around line 1935. This is done to support things that define USE_XORG after bsd.port.pre.mk is included.
I see a couple of options, either perhaps fix the ports that define USE_XORG after bsd.port.pre.mk (that doesn't already have USES=xorg). This is probably the most correct option, since then this warning can be removed.
The other option is to check if USES=gl or USES=xorg-cat and then not print the warning.
The third option might be to have Uses/gl.mk and Uses/xorg-cat.mk add dependencies to something like _USE_XORG and then in Uses/xorg.mk pick those up as well.
I'm not sure which of these solutions is best.
*** Bug 241208 has been marked as a duplicate of this bug. ***