Date: Mon, 4 Feb 2013 19:19:47 +0100 From: Baptiste Daroussin <bapt@FreeBSD.org> To: ports@FreeBSD.org Subject: [CFT+BRAINSTORM] One USE_ to rule them all Message-ID: <20130204181946.GF67687@ithaqua.etoilebsd.net>
next in thread | raw e-mail | index | archive | help
--L2Brqb15TUChFOBK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, I have some improvements to the ports tree to propose, and I'm looking for testers/opinions First let me explain: I want to introduce a new USE_FEATURES macro into the ports tree The goal of this macros is to be able to standardize how we call all the USE_* things as well as creating some "load on demand" code for a corresponding feature. What I expect in long term is to get a more readable bsd.port.mk & friends, meaning easier to maintain I except some performance improvements given that make will have to parse less things. I also expect less complexity if bsd.*.mk code. What will have is all/most of the code corresponding to a USE_SOMETHING right now will endup in a Mk/features/something.mk which will be loaded only if the ports defines: USE_FEATURES= something the loading is done at the very early stage of bsd.port.post.mk to allow one to load modify USE_FEATURES depending on some options etc. each features/*.mk is itself protected by a variable to avoid multi loading of the same file if a feature depends on another one the feature itself just have to ".include" the other one. As a proof of concept I made the following: USE_FEATURES= gmake (with a compatibility for USE_GMAKE to allow migration) USE_FEATURES= iconv (with a compatibility for USE_ICONV to allow migration) USE_FEATURES= motif (with no compatibility as I have switched all the USE_MOTIF ports to use it) USE_FEATURES= fise (with no compatibility as I have switched all the USE_FUSE to use it) USE_FEATURES= display (with no compatibilify as I have switched all the USE_DISPLAY to use it) USE_FEATURES= pathfix (which is the equivalent of USE_GNOME= gnomehack without the need to loading the whole bsd.gnome.mk) The very long term goal will be to switch as much code as possible to be turn into a feature (when it makes sens of course) The USE_FEATURES itself: http://people.freebsd.org/~bapt/features.diff The modified ports for the PoC: http://people.freebsd.org/~bapt/features-chase.diff regards, Bapt --L2Brqb15TUChFOBK Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlEP+8IACgkQ8kTtMUmk6Ex/IgCguOe+WKS63ugGlFsZ8QlinvgW klwAnA2IUFmEHGUA9MqteCreH8svZDE1 =yILF -----END PGP SIGNATURE----- --L2Brqb15TUChFOBK--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130204181946.GF67687>