Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo development <gentoo-dev@l.g.o>
Subject: [gentoo-dev] HDEPEND (host dependencies for cross-compilation) for EAPI 5?
Date: Fri, 31 Aug 2012 20:04:42
Message-Id: 50411874.4060204@gentoo.org
1 For those who may not know, chromium-os currently uses a
2 hard-host-depends ebuild as a workaround for our lack of HDEPEND support
3 [1]. We could easily add HDEPEND in EAPI 5 if we want, since we already
4 have a Portage patch attached to bug #317337 [2]. Here is a summary of
5 what that Portage patch will do:
6
7 In EAPI 5 or later, DEPEND has been divided into two parts:
8 DEPEND for build-time target dependencies, and HDEPEND for
9 build-time host dependencies. This division is designed
10 specifically to minimize difficulty in the process of
11 adapting ebuilds that were written for earlier EAPIs,
12 and therefore it also minimizes the adjustments that
13 ebuild developers will have to make to the thought
14 processes involved when writing ebuilds from scratch. In
15 an environment that does not involve cross-compilation,
16 HDEPEND behaves the same as DEPEND. When an ebuild is
17 converted from EAPI 4 or earlier to EAPI 5 or later,
18 in order to support cross-compilation environments, some
19 dependencies may need to be migrated to HDEPEND.
20
21 For ebuilds that have EAPI 5 or later, the emerge
22 --root-deps option has no effect since it is made obsolete
23 by division between DEPEND and HDEPEND. If EAPI 4 or
24 earlier ebuilds are used in combination with EAPI 5 or
25 later ebuilds, the --root-deps behavior will still be
26 applied to the EAPI 4 or earlier ebuilds (there is no
27 behavior change for ebuilds having older EAPIs).
28
29 [1]
30 http://www.chromium.org/chromium-os/how-tos-and-troubleshooting/portage-build-faq
31 [2] https://bugs.gentoo.org/show_bug.cgi?id=317337
32 --
33 Thanks,
34 Zac

Replies