If dev-python/pygobject:3 is not installed, meson exits with an error. Reproducible: Always
Created attachment 595208 [details] build log of gegl-0.4.18
Created attachment 595210 [details] emerge --info
Sounds like a buggy meson.build that needs fixing upstream. Based on ebuild at least, it seems it should only be used for tests, but it seems to then require it always in configure.
Introspection USE flag activates pygobject meson build option while pygobject is written as dependency only if test USE flag is enabled. So actually only media-libs/gegl-0.4.18[introspection] should RDEPEND on dev-python/pygobject.
I delete `pygobject:3` and ran `FEATURES="test" USE="-introspection" ebuild /usr/portage/media-libs/gegl/gegl-0.4.18.ebuild compile test`. Tests ran successefuly without pygobject: Ok: 95 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 7 Timeout: 0. I currently have no idea why test use-flag condition contains ffmpeg use-flag vondition. Woth or without gexiv2 installed the test results for gegl-0.4.18 with USE="ffmpeg" are the same.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4733e199ea249838392ac8e7e58878f50b6b6b1 commit d4733e199ea249838392ac8e7e58878f50b6b6b1 Author: Sergey Torokhov <torokhov-s-a@yandex.ru> AuthorDate: 2019-12-01 21:40:03 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2019-12-08 13:30:59 +0000 media-libs/gegl: {0.4.18,9999} fix USE="introspection" dependencies USE="test ffmpeg" don't require media-libs/gexiv2 as there is internal test check of presence of this package in system while there is no USE flag to handle gexiv2 build option. USE="introspection" now handles oly the meson "introspection" option without switchon "pygobject" meson option (used now only for tests) so dev-python/pygobject:3 dependency is moved to DEPEND test?(). Dependencies and build options are sorted. pkg_setup() is removed as unesseccery. Closes: https://bugs.gentoo.org/699522 Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru> Signed-off-by: Joonas Niilola <juippis@gentoo.org> media-libs/gegl/gegl-0.4.18.ebuild | 66 ++++++++++++++++++------------------ media-libs/gegl/gegl-9999.ebuild | 68 ++++++++++++++++++-------------------- media-libs/gegl/metadata.xml | 9 ++++- 3 files changed, 73 insertions(+), 70 deletions(-)
Using python-r1.eclass here is clearly incorrect since this package does not support installing for multiple Python implementations. Even python-single-r1.eclass would be incorrect since there appears to be no run-time Python usage of a single Python implementation. Please revert used eclass to python-any-r1.eclass, drop ${PYTHON_REQUIRED_USE} from REQUIRED_USE, drop ${PYTHON_DEPS} from RDEPEND. Dependency on dev-python/pygobject in BDEPEND and look like this: test? ( $(python_gen_any_dep '>=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]') ) You also need python_check_deps() function: python_check_deps() { has_version -b ">=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]" }
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > Dependency on dev-python/pygobject in BDEPEND s/ in / should be in /
Created attachment 598930 [details, diff] Patch
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc2a9bed0542ca7fc32fb057fd6db4b75dbe13e1 commit bc2a9bed0542ca7fc32fb057fd6db4b75dbe13e1 Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> AuthorDate: 2019-12-09 06:17:01 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2019-12-09 16:40:08 +0000 media-libs/gegl: Use python-any-r1.eclass again (and more correctly). Define python_check_deps() function which was previously missing. Move some dependencies from DEPEND to BDEPEND. Closes: https://bugs.gentoo.org/699522 Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Joonas Niilola <juippis@gentoo.org> media-libs/gegl/gegl-0.4.18.ebuild | 17 +++++++++++++---- media-libs/gegl/gegl-9999.ebuild | 17 +++++++++++++---- 2 files changed, 26 insertions(+), 8 deletions(-)