Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 667324 (glib-utils)

Summary: [TRACKER] glib-mkenums and glib-genmarshal transition to dev-util/glib-utils package
Product: Gentoo Linux Reporter: Mart Raudsepp <leio>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: gentoo
Priority: Normal Keywords: Tracker
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 647892, 667294, 667308, 667322, 667338, 667340, 667342, 667346, 667380, 667388, 667392, 667402, 667406, 667468, 667470, 667472, 667474, 667480, 667482, 667490, 667554, 667560, 667562, 667564, 667566, 667568, 667570, 667572, 667576, 667580, 667622, 667626, 667630, 667636, 667650, 667654, 667720, 667722, 667724, 667732, 667736, 667936, 667954, 667972, 667990, 667992, 668024, 668038, 668068, 668074, 668076, 668078, 668118, 668120, 668128, 668132, 668138, 668174, 668230, 668234, 668240, 668246, 668254, 668376, 668378, 668380, 668382, 668384, 668388, 668398, 668448, 668452, 668458, 668460, 668572, 668576, 668578, 668580, 668582, 668584, 668592, 668610, 668632, 668728, 668750, 668798, 668800, 668802, 668804, 668806, 668886, 668888, 668890, 668896, 668960, 669170, 669220, 669438, 669442, 669602, 669610, 669674, 669678, 669682, 669740, 669752, 669842, 669870, 669932, 669986, 670022, 670032, 670186, 670518, 670676, 670818, 670820, 670940, 671216, 671580, 671844, 672002, 672322, 672460, 672770, 672800, 672824, 672832, 673080, 673516, 677110, 677158, 677726, 677996, 680876, 680896, 681052, 681574, 912770    
Bug Blocks:    

Description Mart Raudsepp gentoo-dev 2018-09-29 22:18:58 UTC
We used to have the glib-genmarshal and glib-mkenums build utilities shipped as part of dev-libs/glib itself. They got ported upstream to python and now we've split them out into a separate python-single-r1 package, which keeps runtime glib consumers free of python runtime dependencies, which has its use cases.

At this point, dev-libs/glib pulls in dev-util/glib-utils itself for migration purposes, but we want to get rid of that, as it defeats the purpose.
So if your packages build uses glib-mkenums or glib-genmarshal at build time, please add a build depend on glib-utils. With EAPI-7 I believe it'd be a BDEPEND, as it's about generating C sources and headers.

Note that sometimes the build system does use the utility, but also ships pregenerated enum or marshaller sources/headers in a release tarball (and has rules to not call the utility if mtime of generated stuff is newer than the source metadata fed to the utilities). In such a case, the build depend might not be necessary after all, but it's a build only dep that most people have anyways, so it probably doesn't hurt to safeguard for future tarballs or timestamp issues.

In meson, this build depend is implicit if any meson.build file calls genmarshal, mkenums or mkenums_simple from the gnome module. This can be typically found with a simple grep -r -e 'mkenums' -e 'genmarshal' --include='meson.build' or similar.

With autotools, it isn't uncommon to have a check for the utility, but if not found the m4 variable is left empty, and then it still gets executed. This often results in the build system trying to execute something that was actually meant to be passed as first argument to the utility. Often this is e.g. "--fhead".
Comment 1 Mart Raudsepp gentoo-dev 2018-09-29 22:21:32 UTC
tl;dr, if build fails without glib-utils present (Toralf is running some tinderbox instances where it's force unmerged) about a missing glib-genmarshal, glib-mkenums or weird calls to --fhead, add a glib-utils build depend (BDEPEND with EAPI-7, DEPEND with older).
Comment 2 Larry the Git Cow gentoo-dev 2018-11-08 21:38:57 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0c0975eecd5d30583ded1c4598e4e5a1772b142

commit b0c0975eecd5d30583ded1c4598e4e5a1772b142
Author:     Göktürk Yüksek <gokturk@gentoo.org>
AuthorDate: 2018-11-08 21:34:23 +0000
Commit:     Göktürk Yüksek <gokturk@gentoo.org>
CommitDate: 2018-11-08 21:38:34 +0000

    media-sound/playerctl: add missing dep on dev-util/glib-utils #667324
    
    Closes: https://bugs.gentoo.org/667324
    Package-Manager: Portage-2.3.51, Repoman-2.3.11
    Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>

 media-sound/playerctl/playerctl-2.0.0_rc1.ebuild | 1 +
 1 file changed, 1 insertion(+)
Comment 3 Göktürk Yüksek archtester gentoo-dev 2018-11-08 21:39:27 UTC
Sorry, meant to close #670676
Comment 4 Mart Raudsepp gentoo-dev 2019-04-04 10:43:59 UTC
*** Bug 682518 has been marked as a duplicate of this bug. ***