Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 925209 - media-gfx/darktable: graphite handling needs improving
Summary: media-gfx/darktable: graphite handling needs improving
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Marek Szuba
Depends on:
Reported: 2024-02-22 06:37 UTC by Sam James
Modified: 2024-02-22 16:44 UTC (History)
4 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-22 06:37:44 UTC
There's two issues here:
1) The non-standard approach to graphite, along with the comment in the ebuild:
# It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite]
# in BDEPEND. This has not been done *on purpose*, for the following reason:
#  - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative,
#    in BDEPEND too
#  - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which
#    by default pull in sys-devel/clang
#  - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op
#    (and curiously enough, empirical observations suggest current versions of Portage are
#    more likely to pull in Clang to build darktable with than to request enabling USE=graphite
#    on GCC; that might be a bug though)

You should state the dependency correctly and file a Portage bug if it's doing something wrong. We also do this all the time for OpenMP and it's fine. (It also doesn't read consistently to me, given that if 3) is true, it doesn't sound like there's even a problem, i.e. 2) and 3) aren't consistent, but it's not a big deal because of the rest of this bug anyway).

This keeps leading to confused users.

2) The graphite requirement appears obsolete as of 4.4.0 anyway (

Please verify if that's the case and drop it if so.
Comment 1 Marek Szuba archtester gentoo-dev 2024-02-22 16:44:48 UTC
1. Perhaps the comment you have quoted is not precise enough. However, it does NOT change the fact that when maekke and I got nagged about it last time, I tested what addingh BDEPEND="|| ( sys-devel/gcc[graphite] sys-devel/clang" to the ebuilds would do - and it resulted in Portage pulling in clang as a dependency of Mesa, followed by happily attempting to emerge darktable using non-Graphite gcc.

Of course if you know how to solve this, you are very much welcome to let us know!

2. The commit in question removed Graphite requirement only from one bit of the code, there are still places where it is required. If you try emerging darktable yourself, you will see that versions up to and including 4.6.1 fail with

sorry, unimplemented: Graphite loop optimizations cannot be used (isl is not available)

when built using non-Graphite gcc.