commit:     df0078a47d9a9286649a0b661ee085291410d9f4
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  6 17:38:44 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Fri Nov  6 18:06:16 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df0078a4

media-gfx/darktable: enable optional G'MIC support

Currently only needed to read 3D Colour LUTs compressed using their
multiscale anisotropic diffusion scheme-based compression algorithm,
may or may not serve other purposes in the future.

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

 media-gfx/darktable/darktable-3.2.1-r2.ebuild | 159 ++++++++++++++++++++++++++
 media-gfx/darktable/metadata.xml              |   1 +
 2 files changed, 160 insertions(+)

diff --git a/media-gfx/darktable/darktable-3.2.1-r2.ebuild 
b/media-gfx/darktable/darktable-3.2.1-r2.ebuild
new file mode 100644
index 00000000000..03bc356adc6
--- /dev/null
+++ b/media-gfx/darktable/darktable-3.2.1-r2.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-3 )
+
+inherit cmake flag-o-matic lua-single toolchain-funcs xdg
+
+DOC_PV="3.0.0"
+MY_PV="${PV/_/}"
+MY_P="${P/_/.}"
+
+DESCRIPTION="A virtual lighttable and darkroom for photographers"
+HOMEPAGE="https://www.darktable.org/";
+SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz
+       doc? ( 
https://github.com/darktable-org/${PN}/releases/download/release-${DOC_PV}/${PN}-usermanual.pdf
 -> ${PN}-usermanual-${DOC_PV}.pdf )"
+
+LICENSE="GPL-3 CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+LANGS=" de es fr he it pl pt-BR ru sl"
+IUSE="colord cups cpu_flags_x86_sse3 doc flickr geolocation gmic gnome-keyring 
gphoto2 graphicsmagick jpeg2k kwallet
+       lto lua nls opencl openmp openexr system-lua tools webp
+       ${LANGS// / l10n_}"
+
+REQUIRED_USE="system-lua? ( lua ${LUA_REQUIRED_USE} )"
+
+BDEPEND="
+       dev-util/intltool
+       virtual/pkgconfig
+       nls? ( sys-devel/gettext )
+"
+COMMON_DEPEND="
+       dev-db/sqlite:3
+       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/libpng:0=
+       media-libs/tiff:0
+       net-libs/libsoup:2.4
+       net-misc/curl
+       sys-libs/zlib:=
+       virtual/jpeg:0
+       x11-libs/cairo
+       >=x11-libs/gtk+-3.22:3
+       x11-libs/pango
+       colord? ( x11-libs/colord-gtk:0= )
+       cups? ( net-print/cups )
+       flickr? ( media-libs/flickcurl )
+       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 )
+       jpeg2k? ( media-libs/openjpeg:2= )
+       opencl? ( virtual/opencl )
+       openexr? ( media-libs/openexr:0= )
+       system-lua? ( ${LUA_DEPS} )
+       webp? ( media-libs/libwebp:0= )
+"
+DEPEND="${COMMON_DEPEND}
+       opencl? (
+               >=sys-devel/clang-4
+               >=sys-devel/llvm-4
+       )
+"
+RDEPEND="${COMMON_DEPEND}
+       kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )
+"
+
+PATCHES=(
+       "${FILESDIR}"/"${PN}"-find-opencl-header.patch
+       "${FILESDIR}"/${PN}-3.0.2_cmake-march-autodetection.patch
+       "${FILESDIR}"/${PN}-3.0.2_jsonschema-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
+
+               if use openmp ; then
+                       tc-has-openmp || die "Please switch to an openmp 
compatible compiler"
+               fi
+       fi
+}
+
+src_prepare() {
+       use cpu_flags_x86_sse3 && append-flags -msse3
+
+       sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       # As of darktable-3.2.1, AVIF support is not compatible with 
>=media-libs/libavif-0.8.0; see Bug #751352.
+       local mycmakeargs=(
+               -DBUILD_CURVE_TOOLS=$(usex tools)
+               -DBUILD_NOISE_TOOLS=$(usex tools)
+               -DBUILD_PRINT=$(usex cups)
+               -DCUSTOM_CFLAGS=ON
+               -DDONT_USE_INTERNAL_LUA=$(usex system-lua)
+               -DRAWSPEED_ENABLE_LTO=$(usex lto)
+               -DUSE_AVIF=no
+               -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_WEBP=$(usex webp)
+       )
+       CMAKE_BUILD_TYPE="RELWITHDEBINFO"
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+       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/metadata.xml b/media-gfx/darktable/metadata.xml
index bc5ef345788..f7f953454f3 100644
--- a/media-gfx/darktable/metadata.xml
+++ b/media-gfx/darktable/metadata.xml
@@ -12,6 +12,7 @@
        <use>
                <flag name="flickr">Add support for uploading photos to 
flickr</flag>
                <flag name="geolocation">Enable geotagging support</flag>
+               <flag name="gmic">Use the G'MIC image-processing framework 
(<pkg>media-gfx/gmic</pkg>), e.g. to support Colour LUTs compressed using their 
compression scheme</flag>
                <flag name="kwallet">Enable encrypted storage of passwords with 
<pkg>kde-frameworks/kwallet</pkg></flag>
                <flag name="lto">Enable link-time optimisations in the RawSpeed 
library</flag>
                <flag name="opencl">Enable opencl support</flag>

Reply via email to