commit:     4a2d1f4f56fd80ae2093e993b3c7a78ded7ae7a1
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 20 08:50:20 2022 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 08:51:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a2d1f4f

media-gfx/darktable: add 4.0.1

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 media-gfx/darktable/Manifest                       |   1 +
 media-gfx/darktable/darktable-4.0.1.ebuild         | 176 +++++++++++++++++++++
 .../darktable-4.0.1_libs-deps-automagic.patch      |  37 +++++
 3 files changed, 214 insertions(+)

diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest
index 8921b8aec839..570f3b076365 100644
--- a/media-gfx/darktable/Manifest
+++ b/media-gfx/darktable/Manifest
@@ -1,6 +1,7 @@
 DIST darktable-3.8.0.tar.xz 5415532 BLAKE2B 
a2295d9145806720c702d30a334f4d1c483fc651dfda8a39617daed4a71a436bfaa5b6b379f5ec0ee4bbec5f6f5eabbcb589b63644b5698100dd1672710d1531
 SHA512 
ce95983cbe3ca899103b4f5ee560fdbeeb441dccd453ac4d858b14a25050229e1e780595c66bfb491c88db35c128054f649b365d701ef4b19cf252bd847ffa59
 DIST darktable-3.8.1.tar.xz 5514756 BLAKE2B 
e17bf4cc8f8d3f3fd6649c66c56777aa1e946a91cec1bc3b4c59ba1285aa16c608f725f549622b740417a8040a7bb5d63b2378997a05c2095f1b6814c05815de
 SHA512 
8b1b0c9e1a0bd9b327d34d28fe33dd1a2c7255864f6fa0c15af364a029aaa3cff5e039ff6461e48d3b4327b7656efe70ad9da12245d3a01d7566545d191448ba
 DIST darktable-4.0.0.tar.xz 5829684 BLAKE2B 
91198a47c4dab3368c934815425f430ae5b23e35f585a6c2b70322932cfd7fff19db76bd5f1dd50da81be1b8c9b82b12cb2c6c349e4808432f2ed195a015ecc2
 SHA512 
16b1cce589bdcd9c47685c9bd4705d35a739cfbad35ec7f414ce38848decc2e156bcbc7fe40f15026851927171072219ee0435e7cc64ca6fd763e479be5b5156
+DIST darktable-4.0.1.tar.xz 5958392 BLAKE2B 
677ee85d8b353e9e4fa015226e7383b98b90b319f99142ce8c146c75b3a65a6f057412e8f2a4741d03c5e0a1bd60156245328380e1446c511ab2fb810077b0a3
 SHA512 
f7107024e52cedeb7775b410329e15a667c97f115d5722530add7d3d542974df1ceabeb7f33161d31e0388a682825941947fb9da2546ea2865a090acb7448729
 DIST darktable-usermanual-3.8.de.pdf 32795040 BLAKE2B 
f8669e1982be19bc739add60d125a5818894a7a4a6414ba15aae5e5df41ec6729c99f907e3008c42acbd6f60bc4a5d33e20d7180621d135f9fd342e6190ae6a5
 SHA512 
ff77afcc9a20fec36891d4487d167e40d30a1deef6418dc6bb73c94d8171b42e5edc5420457c96e08ab8581175e691f8adf91ef5259367edba55f1441d4a86d3
 DIST darktable-usermanual-3.8.en.pdf 33484632 BLAKE2B 
90a4e1021917f5fad7a5a9a58e2fec95af14119ca4b48325f3e5b55e96b89f9d82b8aaa676268a255fa97cf834a109b410004a549d16742a1b33db880c46fb67
 SHA512 
b21683f200daca3d0ed7c3364d0c6703d976fd800d1d2ffe51df1c6cfcf2188de681cdddbf92962629a3866e18014377a58ea0e54a9fa727b663972b7f1de79a
 DIST darktable-usermanual-3.8.fr.pdf 33479509 BLAKE2B 
988824b60277ea0264fec61a1157a1de048cd512a172bc86276a043c06da3a684e971cef04c31122a78b3e7305157331e6cb86cfce7a4dc4dd9dc8697eddf743
 SHA512 
1383bb54face948bbbad895be2470c1b13ece71c325edf40402b3416a5d9653d2e1f8c4dbfa30edd10f02c1df8b8243c9e86948c5da8d2033e28ee3c6e04bbcc

diff --git a/media-gfx/darktable/darktable-4.0.1.ebuild 
b/media-gfx/darktable/darktable-4.0.1.ebuild
new file mode 100644
index 000000000000..34dbd9359da5
--- /dev/null
+++ b/media-gfx/darktable/darktable-4.0.1.ebuild
@@ -0,0 +1,176 @@
+# 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=" cs de eo es fi fr he hu it ja nl pt-BR ru sl tr uk zh-CN"
+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 )"
+
+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:0=
+       gnome-base/librsvg:2
+       >=media-gfx/exiv2-0.25-r2:0=[xmp]
+       media-libs/lcms:2
+       >=media-libs/lensfun-0.2.3:0=
+       media-libs/libjpeg-turbo:=
+       media-libs/libpng:0=
+       media-libs/tiff:0
+       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:0= )
+       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:0= )"
+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.0.1_libs-deps-automagic.patch
+)
+
+S="${WORKDIR}/${P/_/~}"
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]]; then
+               # Bug #695658
+               if tc-is-gcc; then
+                       test-flags-CC -floop-block &> /dev/null || \
+                               die "Please switch to a gcc version built with 
USE=graphite"
+               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.0.1_libs-deps-automagic.patch 
b/media-gfx/darktable/files/darktable-4.0.1_libs-deps-automagic.patch
new file mode 100644
index 000000000000..1ea06241f8d7
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-4.0.1_libs-deps-automagic.patch
@@ -0,0 +1,37 @@
+--- a/src/libs/CMakeLists.txt
++++ b/src/libs/CMakeLists.txt
+@@ -84,11 +84,14 @@
+ add_library(timeline MODULE "tools/timeline.c")
+ add_library(image_infos MODULE "tools/image_infos.c")
+ 
++if (USE_PORTMIDI)
+ find_path(PORTMIDI_INCLUDE_DIR NAMES portmidi.h
+           DOC "The Portmidi include directory"
++        REQUIRED
+ )
+ find_library(PORTMIDI_LIBRARY NAMES portmidi
+           DOC "The Portmidi library"
++        REQUIRED
+ )
+ if(PORTMIDI_INCLUDE_DIR)
+   add_definitions("-DHAVE_PORTMIDI")
+@@ -97,8 +100,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)
+@@ -110,6 +115,7 @@
+     target_link_libraries(gamepad ${SDL2_LIBRARIES})
+   endif()
+ endif()
++endif()
+ 
+ if(BUILD_BATTERY_INDICATOR)
+   add_library(battery_indicator MODULE "tools/battery_indicator.c")

Reply via email to