diff options
author | Markus Meier <maekke@gentoo.org> | 2022-12-23 19:07:10 +0100 |
---|---|---|
committer | Markus Meier <maekke@gentoo.org> | 2022-12-23 19:07:10 +0100 |
commit | 32c316079e114941cd09aef01026931cc5586e6b (patch) | |
tree | 652c68ae4e88bc1b15dcafbde3306730e0e9c8d3 /media-gfx/darktable | |
parent | dev-python/iniconfig: Fix compatibility with pytest-7.2+ (diff) | |
download | gentoo-32c316079e114941cd09aef01026931cc5586e6b.tar.gz gentoo-32c316079e114941cd09aef01026931cc5586e6b.tar.bz2 gentoo-32c316079e114941cd09aef01026931cc5586e6b.zip |
media-gfx/darktable: version bump
Signed-off-by: Markus Meier <maekke@gentoo.org>
Diffstat (limited to 'media-gfx/darktable')
-rw-r--r-- | media-gfx/darktable/Manifest | 3 | ||||
-rw-r--r-- | media-gfx/darktable/darktable-4.2.0.ebuild | 189 | ||||
-rw-r--r-- | media-gfx/darktable/files/darktable-4.2.0_libs-deps-automagic.patch | 44 |
3 files changed, 236 insertions, 0 deletions
diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest index 7aff2c667aa5..6f92b7d531c2 100644 --- a/media-gfx/darktable/Manifest +++ b/media-gfx/darktable/Manifest @@ -1,3 +1,6 @@ DIST darktable-4.0.1.tar.xz 5958392 BLAKE2B 677ee85d8b353e9e4fa015226e7383b98b90b319f99142ce8c146c75b3a65a6f057412e8f2a4741d03c5e0a1bd60156245328380e1446c511ab2fb810077b0a3 SHA512 f7107024e52cedeb7775b410329e15a667c97f115d5722530add7d3d542974df1ceabeb7f33161d31e0388a682825941947fb9da2546ea2865a090acb7448729 +DIST darktable-4.2.0.tar.xz 5862080 BLAKE2B eb1c6ab821587cd9d79628d2be24659db6e698a52ee7a7f830b386dd409c96b243a017644a09cf38fcc366c9d7563d057200904aed3ac6f17d4a07fc2758f466 SHA512 17f3e1a97f0af8928b6a7936e1f8923e164344c6adb8393c7aaabce6e62541f2d941929b331283d4f73c477081850c98d694d01f9a002add71c0a41e2272289f DIST darktable-usermanual-4.0.en.pdf 26585692 BLAKE2B 85083af2227e4e16a658cfce435339410e2cf4f03df1a62cf2a54b743232b82093d8012c1212978f08c021585d5cb4ee4b47d4cbfd399a8a9505d0cb32932618 SHA512 789fb6a309608ad10fccfd61eca24b6176fe9ce8ad53dd9840a7e3175598d9d6b7c8357d4852fc787dbfe80e32e696d680e3a7b9a2663ef4d00ef424d3341fc6 DIST darktable-usermanual-4.0.uk.pdf 26781033 BLAKE2B 6d73b690dfebc590971325242fdb6d6de5577219eff6b20dec08a3a53a9529cb53031a36fd0ac45b509f4cb885bafdce38ce1f8bd1c4a255aa2a137bc367d87c SHA512 e897bca98470d9d51bdfa807850af5222cbba527ba46df9b713776ebdc5dc8b946758e4c25f1df478c2c01408d08a91467cc75b5a199042b42c93627dc6d9846 +DIST darktable-usermanual-4.2.en.pdf 26552260 BLAKE2B a090e6e9a3b714d04c2c65ae0c77afa74b2a26c5130731e83b9f5bfe25935391c3dbc21d408f13776975e8c2e794d232a54a54d6a932f0389cb2fc993c2fa159 SHA512 49ff878c4a82d91b88f1f9a28986616f382dc5b40d0a47e3a8cfb27efd79fdd7d8bf3c416d659fdb61ac505d75ed003587e51555389aaec5f9e35bb770f18eac +DIST darktable-usermanual-4.2.uk.pdf 26472343 BLAKE2B d5d8446dead97693be168f4a426a56ce215bb6c3e2d931be19b515abbbe75265fbd17fa433fb3f14630d74323efcd40683694d7af6d3b4456888ec9965aba1ff SHA512 d348ce8edf1847cac6d20744dedd85351ff77b51ac717fe173ef28c9588dcddba06584aef8741661b2ba9652229b9a97ba2220764c957a0a9e645a9b8809f913 diff --git a/media-gfx/darktable/darktable-4.2.0.ebuild b/media-gfx/darktable/darktable-4.2.0.ebuild new file mode 100644 index 000000000000..7a8ae5b14958 --- /dev/null +++ b/media-gfx/darktable/darktable-4.2.0.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2022 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/" +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) + 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=" de es fi fr hu it ja nl pl pt-BR ru sl sq tr uk zh-TW" +fi + +IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc flickr gamepad geolocation gmic gnome-keyring gphoto2 graphicsmagick heif jpeg2k 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 ) + flickr? ( media-libs/flickcurl ) + gamepad? ( media-libs/libsdl2 ) + geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 ) + gmic? ( media-gfx/gmic ) + gnome-keyring? ( >=app-crypt/libsecret-0.18 ) + gphoto2? ( media-libs/libgphoto2:= ) + graphicsmagick? ( media-gfx/graphicsmagick ) + heif? ( media-libs/libheif:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + 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.0.0_find-opencl-header.patch + "${FILESDIR}"/${PN}-3.0.2_cmake-march-autodetection.patch + "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch + "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch + "${FILESDIR}"/${PN}-4.2.0_libs-deps-automagic.patch +) + +S="${WORKDIR}/${P/_/~}" + +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() { + 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) + -DTESTBUILD_OPENCL_PROGRAMS=OFF + -DUSE_AVIF=$(usex avif) + -DUSE_CAMERA_SUPPORT=$(usex gphoto2) + -DUSE_COLORD=$(usex colord) + -DUSE_FLICKR=$(usex flickr) + -DUSE_GMIC=$(usex gmic) + -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick) + -DUSE_KWALLET=$(usex kwallet) + -DUSE_LIBSECRET=$(usex gnome-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 + use doc && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.*.pdf + + 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.2.0_libs-deps-automagic.patch b/media-gfx/darktable/files/darktable-4.2.0_libs-deps-automagic.patch new file mode 100644 index 000000000000..f6985f609fbd --- /dev/null +++ b/media-gfx/darktable/files/darktable-4.2.0_libs-deps-automagic.patch @@ -0,0 +1,44 @@ +Binary files darktable-4.2.0.orig/.DefineOptions.cmake.swp and darktable-4.2.0/.DefineOptions.cmake.swp differ +diff -ru darktable-4.2.0.orig/DefineOptions.cmake darktable-4.2.0/DefineOptions.cmake +--- darktable-4.2.0.orig/DefineOptions.cmake 2022-12-21 20:32:43.490671000 +0100 ++++ darktable-4.2.0/DefineOptions.cmake 2022-12-21 20:33:13.413673557 +0100 +@@ -41,6 +41,7 @@ + option(USE_ICU "Use ICU - International Components for Unicode." ON) + option(USE_GAME "Build 1st April easter egg game" ON) + option(FORCE_COLORED_OUTPUT "Always produce ANSI-colored output (GNU/Clang only)." OFF) ++option(USE_SDL2 "Enable SDL2 support" ON) + + if (USE_OPENCL) + option(TESTBUILD_OPENCL_PROGRAMS "Test-compile opencl programs (needs llvm and clang 3.9+)" ON) +Only in darktable-4.2.0/src/libs: .CMakeLists.txt.swp +diff -ru darktable-4.2.0.orig/src/libs/CMakeLists.txt darktable-4.2.0/src/libs/CMakeLists.txt +--- darktable-4.2.0.orig/src/libs/CMakeLists.txt 2022-12-21 20:32:43.485670999 +0100 ++++ darktable-4.2.0/src/libs/CMakeLists.txt 2022-12-21 20:34:59.240682599 +0100 +@@ -84,6 +84,7 @@ + add_library(timeline MODULE "tools/timeline.c") + add_library(image_infos MODULE "tools/image_infos.c") + ++if (USE_PORTMIDI) + if(PortMidi_FOUND) + add_definitions("-DHAVE_PORTMIDI") + include_directories(${PortMidi_INCLUDE_DIR}) +@@ -91,8 +92,10 @@ + add_library(midi MODULE "tools/midi.c") + target_link_libraries (midi ${PortMidi_LIBRARY}) + endif() ++endif() + +-find_package(SDL2) ++if (USE_SDL2) ++find_package(SDL2 REQUIRED) + if(SDL2_FOUND) + add_definitions("-DHAVE_SDL") + set(MODULES ${MODULES} gamepad) +@@ -104,6 +107,7 @@ + target_link_libraries(gamepad ${SDL2_LIBRARIES}) + endif() + endif() ++endif() + + if(BUILD_BATTERY_INDICATOR) + add_library(battery_indicator MODULE "tools/battery_indicator.c") |