From: David Seifert <soap@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Subject: [gentoo-portage-dev] Fixing EAPI 8 --enable-static once and for all
Date: Sat, 19 Nov 2022 04:12:07 +0100 [thread overview]
Message-ID: <20221119031208.2761011-1-soap@gentoo.org> (raw)
Attached a patch to finally fix https://bugs.gentoo.org/814380.
When I opened the bug, it was clear that I intended to only disable
static libtool archive building. Unfortunately, I hadn't done the
necessary due diligence, and it turns out how we detect the
"--enable-static" flag is overly broad and leads to a sizable number of
false positives in EAPI 8.
I have 937 EAPI 8 packages on my machine, and in 0 cases does my patch
now produce static libraries where none were produced before, while it
successfully reduces the annoying QA warnings on packages that don't use
libtool or use the flag for different purposes:
1. packages that have an "off-target"/false-positive flag triggering
the current logic:
dev-libs/nspr-4.35
--enable-static-rtl Use the MSVC static runtime library
sys-fs/lvm2-2.03.16
--enable-static_link use this to link the tools to their libraries
2. packages with a real --{dis,en}able-static flag, but with semantics
that don't actually disable building of static-libs:
dev-util/strace-5.19
--enable-static link strace statically
sys-process/htop-3.2.1
--enable-static build a static htop binary [default=no]
media-video/mkvtoolnix-71.1.0
--enable-static make a static build of the applications (no)
--enable-static-qt link to static versions of the Qt library (no)
dev-util/strace has a $(use_enable static) option, and the other two are
default disabled. Hence in all of these cases, the patch does not change
the build output.
3. packages with a --{dis,en}able-static flag that controls building of
static libraries, but with a slightly different --help output that
doesn't trigger the updated glob anymore:
dev-libs/icu-72.1
--enable-static build static libraries default=no
dev-libs/nettle-3.8.1
--disable-static Do not build any static library
net-print/cups-2.4.2
--enable-static install static libraries
All of these packages pass a $(use_enable static-libs static) option,
hence none of them would be affected by the missing --disable-static.
With this extensive analysis, I believe this patch to be safe.
next reply other threads:[~2022-11-19 3:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-19 3:12 David Seifert [this message]
2022-11-19 3:12 ` [gentoo-portage-dev] [PATCH] Make EAPI 8 `--disable-static` logic libtool-specific David Seifert
2022-11-19 8:33 ` [gentoo-portage-dev] Fixing EAPI 8 --enable-static once and for all Ulrich Mueller
2022-11-19 9:46 ` Michał Górny
2022-11-19 17:38 ` Mike Gilbert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221119031208.2761011-1-soap@gentoo.org \
--to=soap@gentoo.org \
--cc=gentoo-portage-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox