Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 699522 - media-libs/gegl-0.4.18 should depend on dev-python/pygobject:3 - meson.build:253:0: ERROR: Dependency "pygobject-3.0" not found, tried pkgconfig and cmake
Summary: media-libs/gegl-0.4.18 should depend on dev-python/pygobject:3 - meson.build:...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sergey Torokhov
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2019-11-07 12:56 UTC by kaozwo
Modified: 2019-12-09 16:40 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log of gegl-0.4.18 (build.log,8.26 KB, text/plain)
2019-11-07 12:57 UTC, kaozwo
Details
emerge --info (emerge-info.txt,6.63 KB, text/plain)
2019-11-07 12:57 UTC, kaozwo
Details
Patch (gegl.patch,3.99 KB, patch)
2019-12-09 06:22 UTC, Arfrever Frehtes Taifersar Arahesis
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description kaozwo 2019-11-07 12:56:05 UTC
If dev-python/pygobject:3 is not installed, meson exits with an error.

Reproducible: Always
Comment 1 kaozwo 2019-11-07 12:57:19 UTC
Created attachment 595208 [details]
build log of gegl-0.4.18
Comment 2 kaozwo 2019-11-07 12:57:58 UTC
Created attachment 595210 [details]
emerge --info
Comment 3 Mart Raudsepp gentoo-dev 2019-11-07 14:24:44 UTC
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.
Comment 4 Sergey Torokhov 2019-11-09 22:52:58 UTC
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.
Comment 5 Sergey Torokhov 2019-11-09 23:29:47 UTC
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.
Comment 6 Larry the Git Cow gentoo-dev 2019-12-08 13:47:44 UTC
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(-)
Comment 7 Arfrever Frehtes Taifersar Arahesis 2019-12-09 06:02:28 UTC
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}]"
}
Comment 8 Arfrever Frehtes Taifersar Arahesis 2019-12-09 06:03:57 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #7)
> Dependency on dev-python/pygobject in BDEPEND

s/ in / should be in /
Comment 9 Arfrever Frehtes Taifersar Arahesis 2019-12-09 06:22:08 UTC
Created attachment 598930 [details, diff]
Patch
Comment 10 Larry the Git Cow gentoo-dev 2019-12-09 16:40:26 UTC
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(-)