public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Markus Meier" <maekke@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/darktable/, media-gfx/darktable/files/
Date: Sat, 22 Jun 2024 13:15:24 +0000 (UTC)	[thread overview]
Message-ID: <1719062084.43e93c080de1d56162e5e2c6c89bd4fe05b41384.maekke@gentoo> (raw)

commit:     43e93c080de1d56162e5e2c6c89bd4fe05b41384
Author:     Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 22 13:14:44 2024 +0000
Commit:     Markus Meier <maekke <AT> gentoo <DOT> org>
CommitDate: Sat Jun 22 13:14:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43e93c08

media-gfx/darktable: version bump and avoid automagic heif dependency

Bug: https://bugs.gentoo.org/934008
Signed-off-by: Markus Meier <maekke <AT> gentoo.org>

 media-gfx/darktable/Manifest                       |   1 +
 media-gfx/darktable/darktable-4.8.0.ebuild         | 196 +++++++++++++++++++++
 .../darktable-4.8.0_fix-has-attribute-musl.patch   |  26 +++
 3 files changed, 223 insertions(+)

diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest
index cbf2776ca5d3..e0b1a097eb61 100644
--- a/media-gfx/darktable/Manifest
+++ b/media-gfx/darktable/Manifest
@@ -1,5 +1,6 @@
 DIST darktable-4.6.0.tar.xz 6129572 BLAKE2B 170d874f6a35c4fe5a5555f308bc541885968b8b5535402f8087ad4d47ee93f3d22a78c633f9b3e14584d1925a7dd682a5f3e2bd187ef2f58d0dc2a407b9bb27 SHA512 825a63c9b8bd7420f5c4b53a9281587be92088e1cd617faaf1de2b455503092cc7476872803a1d82c7bf57fcc57f85a40fc4af8ca04367e48719030f08726df7
 DIST darktable-4.6.1.tar.xz 6240188 BLAKE2B cf0055a4dd5f0a246b8de8ca5a29488fd77162cf2e0d7b681235499da39e4dad69dc5e5f7083f67364171d89aa76e940e8338eadee959f6529fb27658f43b75b SHA512 a5bcbdded7cacbc22d82cc982ad1387dc316cf4c0369f6f215abf9f60906024f2236a988dc025c0553bc2d8d7ca9d7bee9eb28b164fa1d9312eef1a084156fb6
+DIST darktable-4.8.0.tar.xz 6256036 BLAKE2B 386276776a68887c7b439bf71ecc2ba9cd4cf54c247073908eae0cafd1d1db390c39937dfd4a2fcbe5164317b6090e29f2d2caa66fb7da47a702ba8988833ed5 SHA512 cb0535274a2862dfb2c8d36149cfced828662e423e04347970c0e2546e4d70ed7ab52cb80b6d21785165a294dee74fc23ba749086aab0a78386936341eb8216a
 DIST darktable-usermanual-4.4.en.pdf 34311705 BLAKE2B 98094ed8288be092ec9c0398bf1719992ce80723aa803e3924e9d28c1c5f2717b120ed618cbec6eebb958be59d15fe107428099efd87926622b5d08110e36b67 SHA512 90e8b8912776b674a436a7e2377d16b0ef374d879ba16501a1c8a0c8407776ef362b747121859884e0aac1d9fc94f3bf0a58bbccdc6fce27cbcaf4cf169d6ef3
 DIST darktable-usermanual-4.4.uk.pdf 33796107 BLAKE2B 060218ec9b7fbcec947506ea9fdf355411d0b1242d41b9ffb7abd8dd991ece29e75c06231251d2ec2701e319e1b1e8134c08603649fe7e933d21b4aef597f7c3 SHA512 f2a6837a05114d4254fade358382be5fabcbd980a3c4fad702b1102176c7e261fd8646aeef1c0328001da8f7cb25d50b06c9f1163a54987985f556c616728bf5
 DIST darktable-usermanual-4.6.en.pdf 26844087 BLAKE2B 5bdb5e012cd8ba7bace733006136b1f9e510214179e84a9cba0664a3c2e4b19828e2cc54addaf5999579b910b592bf0e9cd9796cf89f3a4e6ae369e8187fbfce SHA512 a1d610c42ae3d1ae4d0bf3e827ed9ccae6faeea20cbc03e7c12d74c3c41175bf3f61d9eba43406b9ba86750edf976c1539357ddf774733f566a076418c34f558

diff --git a/media-gfx/darktable/darktable-4.8.0.ebuild b/media-gfx/darktable/darktable-4.8.0.ebuild
new file mode 100644
index 000000000000..a03a32b2d03e
--- /dev/null
+++ b/media-gfx/darktable/darktable-4.8.0.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-4 )
+
+inherit cmake flag-o-matic lua-single toolchain-funcs xdg
+
+DESCRIPTION="A virtual lighttable and darkroom for photographers"
+HOMEPAGE="https://www.darktable.org/"
+S="${WORKDIR}/${P/_/~}"
+LICENSE="GPL-3 CC-BY-3.0"
+SLOT="0"
+
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/darktable-org/${PN}.git"
+
+	LANGS=" af ca cs da de el es fi fr gl he hu it ja nb nl pl pt-BR pt-PT ro ru sk sl sq sv th uk zh-CN zh-TW"
+else
+	#DOC_PV=$(ver_cut 1-2)
+	DOC_PV="4.6"
+	MY_PV="${PV/_/}"
+	MY_P="${P/_/.}"
+
+	SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz
+		doc? (
+			https://docs.darktable.org/usermanual/${DOC_PV}/en/${PN}_user_manual.pdf -> ${PN}-usermanual-${DOC_PV}.en.pdf
+			l10n_uk? (
+				https://docs.darktable.org/usermanual/${DOC_PV}/uk/${PN}_user_manual.pdf
+					-> ${PN}-usermanual-${DOC_PV}.uk.pdf
+			)
+		)"
+
+	KEYWORDS="~amd64 ~arm64 -x86"
+	LANGS=" cs de es fi fr hu it ja nl pl pt-BR ru 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 nls opencl openmp openexr test tools webp
+	${LANGS// / l10n_}"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# 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)
+BDEPEND="dev-util/intltool
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	test? ( >=dev-python/jsonschema-3.2.0 )"
+DEPEND="dev-db/sqlite:3
+	dev-libs/icu:=
+	dev-libs/json-glib
+	dev-libs/libxml2:2
+	>=dev-libs/pugixml-1.8:=
+	gnome-base/librsvg:2
+	>=media-gfx/exiv2-0.25-r2:=[xmp]
+	media-libs/lcms:2
+	>=media-libs/lensfun-0.2.3:=
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:=
+	media-libs/tiff:=
+	net-libs/libsoup:2.4
+	net-misc/curl
+	sys-libs/zlib:=
+	x11-libs/cairo
+	>=x11-libs/gtk+-3.22:3
+	x11-libs/pango
+	avif? ( >=media-libs/libavif-0.8.2:= )
+	colord? ( x11-libs/colord-gtk:= )
+	cups? ( net-print/cups )
+	gamepad? ( media-libs/libsdl2 )
+	geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 )
+	keyring? ( >=app-crypt/libsecret-0.18 )
+	gphoto2? ( media-libs/libgphoto2:= )
+	graphicsmagick? ( media-gfx/graphicsmagick )
+	heif? ( media-libs/libheif:= )
+	jpeg2k? ( media-libs/openjpeg:2= )
+	jpegxl? ( media-libs/libjxl:= )
+	lua? ( ${LUA_DEPS} )
+	midi? ( media-libs/portmidi )
+	opencl? ( virtual/opencl )
+	openexr? ( media-libs/openexr:= )
+	webp? ( media-libs/libwebp:= )"
+RDEPEND="${DEPEND}
+	kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
+	"${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
+	"${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
+	"${FILESDIR}"/${PN}-4.8.0_fix-has-attribute-musl.patch
+)
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		# Bug #695658
+		if 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."
+				die "Selected compiler is sys-devel/gcc[-graphite]"
+			fi
+		fi
+
+		use openmp && tc-check-openmp
+	fi
+}
+
+pkg_setup() {
+	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+	use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+	use cpu_flags_x86_avx && append-flags -mavx
+	use cpu_flags_x86_sse3 && append-flags -msse3
+
+	sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die
+
+	cmake_src_prepare
+}
+
+src_configure() {
+	CMAKE_BUILD_TYPE="Release"
+	local mycmakeargs=(
+		-DBUILD_CURVE_TOOLS=$(usex tools)
+		-DBUILD_NOISE_TOOLS=$(usex tools)
+		-DBUILD_PRINT=$(usex cups)
+		-DCUSTOM_CFLAGS=ON
+		-DDONT_USE_INTERNAL_LUA=ON
+		-DRAWSPEED_ENABLE_LTO=$(usex lto)
+		-DRAWSPEED_ENABLE_WERROR=OFF
+		-DRAWSPEED_MUSL_SYSTEM=$(usex elibc_musl)
+		-DTESTBUILD_OPENCL_PROGRAMS=OFF
+		-DUSE_AVIF=$(usex avif)
+		-DUSE_CAMERA_SUPPORT=$(usex gphoto2)
+		-DUSE_COLORD=$(usex colord)
+		-DUSE_GMIC=OFF
+		-DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+		-DUSE_HEIF=$(usex heif)
+		-DUSE_JXL=$(usex jpegxl)
+		-DUSE_KWALLET=$(usex kwallet)
+		-DUSE_LIBSECRET=$(usex keyring)
+		-DUSE_LUA=$(usex lua)
+		-DUSE_MAP=$(usex geolocation)
+		-DUSE_NLS=$(usex nls)
+		-DUSE_OPENCL=$(usex opencl)
+		-DUSE_OPENEXR=$(usex openexr)
+		-DUSE_OPENJPEG=$(usex jpeg2k)
+		-DUSE_OPENMP=$(usex openmp)
+		-DUSE_PORTMIDI=$(usex midi)
+		-DUSE_SDL2=$(usex gamepad)
+		-DUSE_WEBP=$(usex webp)
+		-DWANT_JSON_VALIDATION=$(usex test)
+	)
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+	# This USE flag is masked for -9999
+	if use doc; then
+		dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.en.pdf
+		use l10n_uk && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.uk.pdf
+	fi
+
+	if use nls; then
+		for lang in ${LANGS} ; do
+			if ! use l10n_${lang}; then
+				rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
+			fi
+		done
+	fi
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	elog
+	elog "When updating a major version,"
+	elog "please bear in mind that your edits will be preserved during this process,"
+	elog "but it will not be possible to downgrade any more."
+	elog
+	ewarn "It will not be possible to downgrade!"
+	ewarn
+}

diff --git a/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch b/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch
new file mode 100644
index 000000000000..f6a474acfd24
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch
@@ -0,0 +1,26 @@
+From 7601d97268bf5f63f7e53d9c114fe439dcc46b0d Mon Sep 17 00:00:00 2001
+From: Markus Meier <maekke@gentoo.org>
+Date: Fri, 21 Jun 2024 20:35:33 +0200
+Subject: [PATCH] fix musl build
+
+See https://bugs.gentoo.org/915596
+---
+ src/common/darktable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/darktable.h b/src/common/darktable.h
+index a62fd402fe..4d0d571b2b 100644
+--- a/src/common/darktable.h
++++ b/src/common/darktable.h
+@@ -150,7 +150,7 @@ extern "C" {
+ /* Create cloned functions for various CPU SSE generations */
+ /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
+ /* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */
+-#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__)
++#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__) && defined(__GLIBC__)
+ # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)
+ #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
+ # elif defined(__PPC64__)
+-- 
+2.44.2
+


             reply	other threads:[~2024-06-22 13:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-22 13:15 Markus Meier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-12-23 18:07 [gentoo-commits] repo/gentoo:master commit in: media-gfx/darktable/, media-gfx/darktable/files/ Markus Meier
2022-09-20  8:51 Marek Szuba
2022-01-12 21:52 Marek Szuba
2021-06-15 10:51 Marek Szuba
2020-12-28 14:34 Marek Szuba
2020-12-26 23:18 Marek Szuba
2020-06-18 16:30 Marek Szuba
2020-06-18 16:30 Marek Szuba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1719062084.43e93c080de1d56162e5e2c6c89bd4fe05b41384.maekke@gentoo \
    --to=maekke@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox