commit:     dfb83dacaf8495d8068820957c0c303c4cc2caa9
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 23 08:35:45 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon May 29 13:03:27 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfb83dac

profiles/use.desc: create USE=strip global USE flag

Primarily intended for use by linux-mod-r1.eclass, which needs
a global IUSE to control stripping of kernel modules *before*
signatures and compression (alternative would be to simply never
strip, but that seem sub-optimal).

Originally meant to be USE=modules-strip or similar, but this can
have a more general use case when portage does not know how to
strip special files properly while the ebuild does.

Notable is mingw ebuilds (wine-*, dxvk, vkd3d-proton, mingw64-*).
If portage uses x86_64-pc-linux-strip on, e.g. mingw64-toolchain's
runtime libraries, then at least the 32bit toolchain ends up broken
and cannot compile anything anymore. But then dostrip -x results in
unstripped files while we can use x86_64-w64-mingw32-strip in the
ebuild potentially saving 60MB+. Currently this is done through
USE=debug, but does not feel fully fitting given this is not about
adding debugging paths (or even symbols, or anything) and is merely
"do not strip".

No USE in ::gentoo currently contain the word "strip" and defining
it should not conflict.

To be clear, this USE should /only/ be used in situations where
the alternative would be needing to not strip at all -- stripping
should be done by the package manager whenever it is possible.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 profiles/use.desc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/profiles/use.desc b/profiles/use.desc
index 47438c839071..aa5d16dd652e 100644
--- a/profiles/use.desc
+++ b/profiles/use.desc
@@ -301,6 +301,7 @@ ssl - Add support for SSL/TLS connections (Secure Socket 
Layer / Transport Layer
 startup-notification - Enable application startup event feedback mechanism
 static - !!do not set this during bootstrap!! Causes binaries to be statically 
linked instead of dynamically
 static-libs - Build static versions of dynamic libraries as well
+strip - Allow symbol stripping to be performed by the ebuild for special files
 subversion - Enable subversion (version control system) support
 suid - Enable setuid root program(s)
 svg - Add support for SVG (Scalable Vector Graphics)

Reply via email to