Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] RFC: USE=libav as replacement for broken || ( libav:= ffmpeg:= )
Date: Mon, 19 Jan 2015 19:31:58
Message-Id: 20150119203145.38bd0aaa@pomiocik
1 Hello,
2
3 As we've discussed multiple times, the following kind of dependencies
4 is completely broken and can't work:
5
6 || ( media-libs/libav:= media-libs/ffmpeg:= )
7
8 For this reason, I would like to employ the solution used by Exherbo.
9 More specifically, use:
10
11 libav? ( media-libs/libav:= )
12 !libav? ( media-libs/ffmpeg:= )
13
14 This has two advantages:
15
16 1. gives users more explicit control over whether they want to use
17 libav or ffmpeg. Since the two have mutual blockers, right now random
18 packages could have tried to force you to switch from one to the other.
19 However, most often Portage would just give you terribly unreadable
20 blockers.
21
22 2. Subslots work correctly. Rebuilds are forced when the chosen library
23 is upgraded. Moreover, USE flag change causes a rebuild when user
24 decides to change the ffmpeg provider.
25
26 The new USE flag descriptions would be:
27
28 ffmpeg - Enable ffmpeg- or libav-based audio/video codec support
29 libav - Prefer libav over ffmpeg
30
31 This implies that USE=ffmpeg is only present if ffmpeg/libav support is
32 optional while USE=libav is present to provide the choice between
33 ffmpeg and libav. While this isn't the most clear solution, it provides
34 backwards compatibility with the current use of USE=ffmpeg.
35
36 Any comments?
37
38 --
39 Best regards,
40 Michał Górny

Replies