Gentoo Archives: gentoo-dev

From: James Le Cuirot <chewi@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] games.eclass
Date: Sat, 22 Aug 2015 14:32:32
Message-Id: 20150822153212.56561540@symphony.aura-online.co.uk
In Reply to: Re: [gentoo-dev] games.eclass by hasufell
1 On Sat, 22 Aug 2015 13:10:54 +0200
2 hasufell <hasufell@g.o> wrote:
3
4 Great response, thanks!
5
6 > Because of that, I provide a 'bundled-libs' USE flag for almost all
7 > proprietary games I package (e.g. those from GOG). So in case
8 > something breaks, the user can still opt-out of all this.
9
10 I like unbundling but I also like this compromise. I wrote a wrapper
11 for launching Minecraft that allows the libraries to be unbundled but
12 because Minecraft updates are automatically downloaded by the official
13 launcher, I had to make it resilient to new dependencies suddenly
14 appearing and I also had to make it easy to disable entirely in the
15 event of problems. As things stand, it is woefully out of date due to
16 my other Java duties but I'll get there.
17
18 > Data ebuilds with cdinstall and optional gog sources are already
19 > available, see
20 > https://gitweb.gentoo.org/repo/gentoo.git/tree/games-fps/duke3d-data/duke3d-data-1.0-r2.ebuild
21 > https://gitweb.gentoo.org/repo/gentoo.git/tree/games-rpg/arx-fatalis-data/arx-fatalis-data-1.21-r2.ebuild
22
23 REQUIRED_USE="^^ ( cdinstall gog )"
24
25 That is great use of REQUIRED_USE. Last time I looked at this,
26 REQUIRED_USE didn't exist so I hadn't seen any examples but this is
27 exactly what I would have done.
28
29 > About data ebuilds... they make sense when at least some of these
30 > points are true:
31 > * data is very very big (you don't want extract 8GB just because you
32 > changed an engine USE flag)
33 > * upstream provides the engine and the data separately anyway
34 > * upstream sometimes bumps the data without bumping the engine or
35 > vice versa
36 > * we have a lot of data-specific USE flags (you don't want to
37 > recompile the whole engine just because you are trying different
38 > music-packs)
39 > * the data portion uses the cdinstall USE flag (you definitely want to
40 > decrease the number of times users have to look for their CD...)
41 >
42 > In some cases, we are forced to make data ebuilds anyway, e.g. when
43 > you have opensource engines for proprietary games.
44 >
45 > But there's no reason to split off -data ebuilds for every possible
46 > package. It's done if it makes sense and doesn't overcomplicate ebuild
47 > development and user-side configuration/installation.
48
49 I'm pleased to say I was thinking along the same lines. This gives me
50 confidence that I could contribute games without upsetting anybody, be
51 it alone or part of a team.
52
53 --
54 James Le Cuirot (chewi)
55 Gentoo Linux Developer