Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 569722 - media-video/mpv: only depend on dev-python/docutils when required
Summary: media-video/mpv: only depend on dev-python/docutils when required
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor
Assignee: Coacher
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-25 14:53 UTC by Stefan Valouch
Modified: 2015-12-26 14:12 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Valouch 2015-12-25 14:53:48 UTC
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
Comment 1 Coacher 2015-12-26 04:08:22 UTC
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.
Comment 2 Coacher 2015-12-26 04:16:41 UTC
(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
Comment 3 Coacher 2015-12-26 04:29:27 UTC
Stefan, I could hide manpage and doc build under 'minimal' USE. Would this help?
Comment 4 Stefan Valouch 2015-12-26 14:12:05 UTC
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