aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Meier <maekke@gentoo.org>2025-02-01 08:50:29 +0100
committerMarkus Meier <maekke@gentoo.org>2025-02-01 08:50:29 +0100
commited2d806c89cfacf0274b72c46ef8201b199e57fb (patch)
treed764796fa67f40c065f94e64372ef45817a38e1a
parentx11-drivers/xf86-video-armsoc: remove package (diff)
downloadmaekke-master.tar.gz
maekke-master.tar.bz2
maekke-master.zip
media-gfx/darktable: add USE=clangHEADmaster
Signed-off-by: Markus Meier <maekke@gentoo.org>
-rw-r--r--media-gfx/darktable/Manifest4
-rw-r--r--media-gfx/darktable/darktable-5.0.0-r1.ebuild33
-rw-r--r--media-gfx/darktable/metadata.xml1
3 files changed, 32 insertions, 6 deletions
diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest
index 91b6151..a2f9fa4 100644
--- a/media-gfx/darktable/Manifest
+++ b/media-gfx/darktable/Manifest
@@ -7,5 +7,5 @@ DIST darktable-5.0.0.tar.xz 6928316 BLAKE2B 0fd2f6e73d2a78b09c7d7490885301420ceb
DIST darktable-usermanual-4.6.en.pdf 26844087 BLAKE2B 5bdb5e012cd8ba7bace733006136b1f9e510214179e84a9cba0664a3c2e4b19828e2cc54addaf5999579b910b592bf0e9cd9796cf89f3a4e6ae369e8187fbfce SHA512 a1d610c42ae3d1ae4d0bf3e827ed9ccae6faeea20cbc03e7c12d74c3c41175bf3f61d9eba43406b9ba86750edf976c1539357ddf774733f566a076418c34f558
DIST darktable-usermanual-4.6.uk.pdf 27013345 BLAKE2B 4c0da0038576e8ea97da88a4481e1afdf4e5b5df6b8a52475d18b488ac10066db4ef679681a38a194dd84771e340f58beea0450ec60726abd19d600e73fc40f1 SHA512 6e2f036e3f845791aa8b6eb565230136bfb6ae7f9b1ee56a9201cd25bb09391fd2ec45ba7fa1ddd11b4c193ab6b097fae32107af6c11b6cd6eeada60b002d4b3
EBUILD darktable-4.8.0-r1.ebuild 5873 BLAKE2B 0e8ba369ae88de4be8737d015708259eebc89befc858c2b8be6889f144ce091880909592b307860d6251ddff6df91aebea232bb73e9d0a496e857a207e3722ec SHA512 558b2876a08c2b837965cf562a42ce67c7c480770e08a8623ae0ecdea507cd2798cc8ea3fa0540d388c0c3cfefdc11b4721e0ad2594ed5ec6aa215cf837ffac7
-EBUILD darktable-5.0.0-r1.ebuild 5742 BLAKE2B e3c4c6bf5e154258c1d3c579274f90f0524051848377b287fa313afbae28d8059b7ffb085d750962f21e7b0e6331c8420dbcddb170580d89fec9cfd6205f4e8c SHA512 b2c0425d41ce54e731a7c95e9f6467a8a97a54d13808206a61849d59a0f2c69a661f33844927ddee97bce873c78887d85a35fffbb965be75c2bfbddd85dc45ec
-MISC metadata.xml 911 BLAKE2B ae7f5d92e5a9bfd96ff14f531d7a54db3db85c6c310a97e9fde57e74dcb6940192d35f98c7ff17d44f627b53252106b5f917dd2123fa80b1d668b6e0f6865081 SHA512 a7bcb43a1859d366eb557c468b23eb60ed4ef250cc0179fa9c823b3d27347ef3692134ef336836b01ebfc9b53165c60ac88f28d6452b9bcfa6a94b32b5b6177d
+EBUILD darktable-5.0.0-r1.ebuild 6443 BLAKE2B 18f16c62827bc503047b21314b7338b038c197802bdfa069ab05ca6b9a74b487da0f1c07a4dc061317f9f90cfdea73829f6c5a72ddd9106ba2763b92767da8a0 SHA512 84fc666b62d0e8cc3fb708d3bef5dcbd44bf13c739680b5337a38f353c4a7ef7980e7a0978e8151ea17e477311150749f7ccd2ae1f7eef058e7c56857134cf59
+MISC metadata.xml 976 BLAKE2B 3bfe99e9d65f15787894996d99d84695f5bec90b8ba36926fde682fc4818f9e7c6cfc9e68dcf219971eced29178f37ab620534c7e2bc961bdd26cc9efcfc2796 SHA512 cf716c13f623a552a5fb4da90d1c357ce0f7e42c2aa936004e43d7a269d6f3779dc883ddbb2dc23c5d250426566927cc6efd549cb2f0c39711d6dedb426895ce
diff --git a/media-gfx/darktable/darktable-5.0.0-r1.ebuild b/media-gfx/darktable/darktable-5.0.0-r1.ebuild
index 12f75ae..f872286 100644
--- a/media-gfx/darktable/darktable-5.0.0-r1.ebuild
+++ b/media-gfx/darktable/darktable-5.0.0-r1.ebuild
@@ -5,7 +5,9 @@ EAPI=8
LUA_COMPAT=( lua5-4 )
-inherit cmake flag-o-matic lua-single toolchain-funcs xdg
+LLVM_COMPAT=( 17 18 19 )
+
+inherit cmake flag-o-matic lua-single toolchain-funcs xdg llvm-r1
DESCRIPTION="A virtual lighttable and darkroom for photographers"
HOMEPAGE="https://www.darktable.org/"
@@ -37,7 +39,7 @@ else
LANGS=" cs de es fi fr ja nl pt-BR sl sq uk zh-CN zh-TW"
fi
-IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi opencl openmp openexr test tools webp
+IUSE="avif +clang colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi opencl openmp openexr test tools webp
${LANGS// / l10n_}"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
@@ -53,7 +55,13 @@ RESTRICT="!test? ( test )"
# (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)
-BDEPEND="dev-util/intltool
+BDEPEND="$(llvm_gen_dep '
+ clang? (
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/lld:${LLVM_SLOT}
+ )
+ ')
+ dev-util/intltool
sys-devel/gettext
virtual/pkgconfig
test? ( >=dev-python/jsonschema-3.2.0 )"
@@ -102,7 +110,7 @@ PATCHES=(
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
# Bug #695658
- if tc-is-gcc; then
+ if ! use clang && tc-is-gcc; then
if ! test-flags-CC -floop-block &> /dev/null; then
eerror "Building ${PN} with GCC requires Graphite support."
eerror "Please switch to a version of sys-devel/gcc built with USE=graphite, or use a different compiler."
@@ -130,6 +138,23 @@ src_prepare() {
src_configure() {
CMAKE_BUILD_TYPE="Release"
+
+ if use clang; then
+ einfo "Enforcing the use of clang due to USE=+clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ elif ! use clang && ! tc-is-gcc ; then
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ fi
+
local mycmakeargs=(
-DBUILD_CURVE_TOOLS=$(usex tools)
-DBUILD_NOISE_TOOLS=$(usex tools)
diff --git a/media-gfx/darktable/metadata.xml b/media-gfx/darktable/metadata.xml
index 3abfd9a..686d3e0 100644
--- a/media-gfx/darktable/metadata.xml
+++ b/media-gfx/darktable/metadata.xml
@@ -6,6 +6,7 @@
<name>Markus Meier</name>
</maintainer>
<use>
+ <flag name="clang">Use Clang compiler instead of GCC</flag>
<flag name="gamepad">Support using game controllers as input devices</flag>
<flag name="geolocation">Enable geotagging support</flag>
<flag name="kwallet">Enable encrypted storage of passwords with <pkg>kde-frameworks/kwallet</pkg></flag>