I noticed that media-video/mpv unconditionally pulls in dev-python/docutils. It seems to me as if it was only needed for generating manpages. If a system has neither USE=+doc-pdf nor is instructed to generate manpages (FEATURES=noman), then it fills the hard disk with around 20MB of unused libraries (it pulls in pygments, which is quite big in itself). I would prefer to have docutils only pulled in if "noman" is not set. Context: I'm building a system on a very small hard drive, after editing the ebuild to not pull in docutils but runs fine ans saves me about 20MB of space as I can unmerge docutils, pygments etc. This affects all current ebuilds and the future mpv-0.14 from pullrequest 511 (https://github.com/gentoo/gentoo/pull/511). emerge --info: Portage 2.2.24 (python 3.4.3-final-0, unavailable, gcc-4.9.3, glibc-2.21-r1, 4.1.12-gentoo-5 x86_64) ================================================================= System uname: Linux-4.1.12-gentoo-5-x86_64-AMD_Sempron-tm-_Processor_800MHz-with-gentoo-2.2 KiB Mem: 890640 total, 397856 free KiB Swap: 0 total, 0 free sh bash 4.3_p39 dev-lang/python: 3.4.3::gentoo sys-devel/autoconf: 2.69::gentoo sys-devel/automake: 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/libtool: 2.4.6::gentoo sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers) Repositories: ACCEPT_LICENSE="*" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--jobs=1 --load-average=15 --keep-going --with-bdeps y --color y" FEATURES="assume-digests binpkg-logs buildsyspkg compress-build-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news nodoc noinfo noman parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" GENTOO_MIRRORS="ftp://rush.tisys.org/pub/gentoo/ ftp://ftp.halifax.rwth-aachen.de/gentoo/ ftp://ftp.hadiko.de/pub/dists/gentoo/gentoo" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" USE="acpi iproute2 ipv6 ithreads minimal netifrc ssl threads unicode vim-syntax xattr" Unset: ACCEPT_KEYWORDS, PORTAGE_BUNZIP2_COMMAND Reproducible: Always
You are right, docutils are used for man page creation. `man make.conf` describes 'noman' feature this way: noman Do not install manpages. Please notice that there is nothing here about pulling man deps. Also to avoid pulling man deps we have to add FEATURES-conditional code in the ebuild. And there is no support for this in portage. Moreover, PMS forbids relying on FEATURES variable in ebuilds, because it is portage specific: https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-168000B With all this said. I am closing this as RESOLVED INVALID.
(In reply to Coacher from comment #1) > Also to avoid pulling man deps we have to add FEATURES-conditional code in > the ebuild. And there is no support for this in portage. A quick followup. There is actually `has` function (and variants)[0], so there IS support to write FEATURES-conditional code. However, the rest of my previous post still remains as it is, so this is still RESOLVED INVALID. [0]: https://devmanual.gentoo.org/function-reference/query-functions/index.html
Stefan, I could hide manpage and doc build under 'minimal' USE. Would this help?
Okay, makes sense. I'll simply sed that one line in that machines local overlay then, no trouble. As for "minimal", I believe it wouldn't be consistent with other "minimal"s for other ebuilds which use this flag to only install clients or a subset of the functionality, so maybe better leave it as it is. Thanks, Stefan