summaryrefslogtreecommitdiff
path: root/media-gfx/darktable
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-01 21:06:00 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-01 21:06:00 +0000
commit129160ec854dca4c3fedb5bcfbcb56930371da0f (patch)
tree53bf797418ac5e9b99c41ca0382c87b82421e5de /media-gfx/darktable
parent441d1370330332b7d78f238d2f5e13f7aed5e4e0 (diff)
gentoo new year resync : 01.01.2021
Diffstat (limited to 'media-gfx/darktable')
-rw-r--r--media-gfx/darktable/Manifest9
-rw-r--r--media-gfx/darktable/darktable-3.4.0-r1.ebuild (renamed from media-gfx/darktable/darktable-3.2.1-r2.ebuild)56
-rw-r--r--media-gfx/darktable/darktable-3.4.0.ebuild159
-rw-r--r--media-gfx/darktable/darktable-9999.ebuild68
-rw-r--r--media-gfx/darktable/files/darktable-3.4.0-xmmintrin-sse-only.patch30
-rw-r--r--media-gfx/darktable/files/darktable-3.4.0_jsonschema-automagic.patch25
-rw-r--r--media-gfx/darktable/metadata.xml1
7 files changed, 156 insertions, 192 deletions
diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest
index a6fa2c7e1f57..899665bbf0c2 100644
--- a/media-gfx/darktable/Manifest
+++ b/media-gfx/darktable/Manifest
@@ -1,6 +1,8 @@
AUX darktable-2.6.2-exiv2-0.27.patch 598 BLAKE2B 724290bb5c1344c0113abde04688009b3db10f530684f3f53e0fcc935a9ebef4b3680a36cb5d005e8826ea1512f0ec505b06e404d144006848601699d33d1416 SHA512 77fc92bf8d373552fc82de1927a1708b989caf0b080c8ef279692c0b9f2e95526a70d2bf4af5f62abb68ccb733af08237f9e143773cc8a75d72dfb6ba434df6c
AUX darktable-3.0.2_cmake-march-autodetection.patch 908 BLAKE2B aa1c0cedfe1f267332f11b9a8f38ce368af02b7e4f9751b128b7af91dcdfb066a0529ae126d41a34bc3fc66f336924f3376f270674bcc7e0912d2e23d46ec83b SHA512 da1f10e86b7b9e2a3f317d620a58ebed156a5c6e0f22f429da617cb176d1c18d6d1b6706c1444c9007ccb776bc6b951e3560214e89e95b4050899ec692b74dde
AUX darktable-3.0.2_jsonschema-automagic.patch 729 BLAKE2B fdf306a513cc78fbd2b377d55baa4631b0feb885312252a784b06477afb08f8b43b742b4acfb9da7cb52c20eecf997668ff17444020690671136e17573dc75e9 SHA512 7b2f17827ad099c476f3272d9ffc41dbd3d1e1bdea482beaddb4d654d3555677212ed50df1fd83f94e1274670baecd951878280e1a052f327fce47b12ad720e5
+AUX darktable-3.4.0-xmmintrin-sse-only.patch 748 BLAKE2B 4466070726d011e2522dd939a55e5d8671f927d0c0165e176b3732a8eac17401cfc7d681fa0b97a8ee0f4dd796da1f937a6cf7d4ee2bfb2d828d7a37b92c3570 SHA512 998804a761320db915f96a499136be8abcbf7e906d07f0ed7df62c07cd5ed277ed9bcf0b348660731ecb131feb3611f1435efc485ebcb3c13fcb48020c1d93fa
+AUX darktable-3.4.0_jsonschema-automagic.patch 891 BLAKE2B b0abdd7ea80a446e2556daf06f78343deeb781a12b670f3c3d2f8a34ec9877e16991f6a105c90d58f437915b30bd8bddfb995d515bc73563a44f3807258c9fee SHA512 57cdf87586c6382347334577fff71d415be0123ad101c073535e9d4e87e7edac275272e0b3be91bd34965bacf1f6166cfc64af34b4cdedfb27b409e27bc3bdc9
AUX darktable-find-opencl-header.patch 601 BLAKE2B 0102ea562ec0addb619f06b59cc73834d734c454a7c561654bc27f052de55db6c62f454927b2c701b7f4f6c52d5d2fac0b7c230b90ef89bdc9431856bd4ae69a SHA512 93023a318158850a5bac4a1d871ea6e69a3c9f2bc57f8af47bc83bb131f96e8972c23b07945df2eddfb05bffdd950e8250da77c47d1543b776a7e9405adad020
DIST darktable-2.6.2-gcc9.patch.tar.xz 25864 BLAKE2B 857803d4c46b47b1e06e962533c231621fa23e72dffae617bc4e078316fc22c5883df404b30e63d7ed2111078d0d7b54bfa3510524c92fa739238904e2ec17f0 SHA512 29b208fa0b04aa11a2c45312763ba471785b2d0f669c07a6092b82adc0284428d7dc9ea8ebae7bd851414f04191e6aafb434fcc127f062ef66d075208c7d49cb
DIST darktable-2.6.2.tar.xz 3512572 BLAKE2B ee3070ac0f6b6b1c401865801631fb28397f484f30778065b7f899204813530a47ff6e752504b645f59bc29f868e1498e39f5f4e70f8259d8fecf5abc3f15cd6 SHA512 e7a90535747a8615fa2dbd1eb05f81314cc61c689a8a85fda0e2be40208ab0248e6f6ef296bb0894d3d527ed47c6cf6640538029c0c2d58a38d2d5ce10f6f5c0
@@ -11,7 +13,6 @@ DIST darktable-usermanual-3.0.0.pdf 16237603 BLAKE2B ff5c24bb038deb37269a8438993
DIST darktable-usermanual-3.4.0.pdf 16241791 BLAKE2B d6fc232c3eddb5474e36ce1fbc02c3472291e5ebdf2eae09c419215263f615546a79f88ee9d252b387fc5e4f2c9714398deab8de176b3d928b6a17c2878cef56 SHA512 fd154c02d5e0c63d9698b2f80a7439a191f4582b717b2f163923eda40aae1ebe8aeaf1a70efdc423eb8c8269d74fc0e23df8c9c0269ee8f5a357611501c3547e
EBUILD darktable-2.6.2.ebuild 3475 BLAKE2B 447c7330f1721443008a4794458d2365c5459a17e9257e4b2ae9a218824b78481ac66f37b230689035021d345908815135d71bfffad40e5c7d28bc7687cfcaa6 SHA512 23cf95b35f5445d7b21f13f11304e1eed211adb738d6d4389123b82596a77bcd8c8412b89c793d93fe1f6ab5dfde104618903ec35ab1e59a784eb7e43328362b
EBUILD darktable-3.2.1-r1.ebuild 4250 BLAKE2B 6b29ac0b75ea866c64f8ee57ace0c85d315537f1df46b705b357b477528917f732e927cb14ce6465d5787b19e113030f62fac68cc1f0d42f626108cbb4ecf4ce SHA512 6f86a3688b660a76af91dd5124540af6333df5625b304f33b4fc3b0d668ea127592bdaf5b6b705420fef905b7e16dc09a9d130f3d96f4938f5a2ad9421147ce0
-EBUILD darktable-3.2.1-r2.ebuild 4128 BLAKE2B ce99fb9f3320b7f1dd9fe4b2fe9da5a8faf623bc8a77c10872ff54590a6da1c971a4c688ffb0c657f33e2bc11f47e55fec9269eaea99f3e6eb97d0ebe53d75fb SHA512 d55d5a17ff0e0122ac06eb970c238c824755b8e464b219b758203e2eeef849c185a6fd5535819d8f11514f16b4c8210491a5e86beac39232ad2e5536ddaaf23c
-EBUILD darktable-3.4.0.ebuild 4143 BLAKE2B 7f84937e11acb786d28aba040b5f53a321f8918a6c818f4e6c3403574c11caf310bc93045332e33fccb5b2d598579cd14013aaaf4565ad857716b65e56a2b053 SHA512 dede5f52a89a3e86a11caad7caf23dd80a14482f0a6bc2e3284634577f8693e07b5773b6bda890f8b9ca45264d22c3b114171da444752d36d17390ee9d78d84d
-EBUILD darktable-9999.ebuild 3314 BLAKE2B 6b768625082d82fe0cb4eb92b3a66cc6fc6d19d525bd25c9a00fc83e80336ea576e5dbd6b6133bffaf4f188d6ca5c6591793d12bec98af2a75e2c90217ad7485 SHA512 05b8dc06351cb42b9b10e906dfeaf595197c8bb398577384868550630e393d4bb8e3e6280b4249d4658f8ebefd0e7d8b013ca5a650251766e5efb12a460089e0
-MISC metadata.xml 1225 BLAKE2B 0ecba5279d318553ec1c4beb6b2dfc0c1386de48f92ed289051aac0938284d82b7be66985fb071d93808fc086260937ebdf440df83864d324d0d8aa1158db502 SHA512 73ebe5709000bfa8cfe3ec6992b021d85d80e0200bbf1ce8d19153632e835f2c8dbb3afc283eeecd4b95be087d17bf73f0de9c4b6ce89ce4b37c90413e4b970e
+EBUILD darktable-3.4.0-r1.ebuild 4585 BLAKE2B 219537b19aeb5096cee8d029aa4d50bc75a45b45c8cd3b22c624ec4c5affc0f4697a9c1a5b176f054742ffdc2de700bff8001258dff340c246e8e4d207d5aae2 SHA512 2978b96f9e4ea1eae466e5db8ccef786596e72b8018cf3e576076f1bba900b2996dc306cc34a1da1b1fa9b9cbfb9dda710222ca30a353a3f13b16806e0ecedb0
+EBUILD darktable-9999.ebuild 4475 BLAKE2B 3afed84176b49c7604c36fc5605a75f7db9bbe0fbde3a438dc964010a184b70031565b4f20914315c934c9d8d1f4e24d2f12e05d8e20a7498a972bb83a2d1ec9 SHA512 5294cb5cf18fe9be1d6b43553ab46759925dbb904c0b0a5fca9349a9b860d6756cb834eb4aa493f0b831a49554387898d5107191f92f05d9f03f35989cae0dd6
+MISC metadata.xml 1296 BLAKE2B 41415c7a013551a7e5cec72b8df9304b446d273f80b1975dd5f15672ec128f20e1b6d94be67d2e8e049674e1f12fae0d85840bd9aced2b62b213fe519b85f80d SHA512 110b05e5c449e0e1bb9fc0228a4b762e2f2fee74215ba0b084d9f719481af682d2a70c8df04313eb89916051f2c3ba1e057321b839144ad70298faf90605acd7
diff --git a/media-gfx/darktable/darktable-3.2.1-r2.ebuild b/media-gfx/darktable/darktable-3.4.0-r1.ebuild
index 03bc356adc65..cb8b5d62769c 100644
--- a/media-gfx/darktable/darktable-3.2.1-r2.ebuild
+++ b/media-gfx/darktable/darktable-3.4.0-r1.ebuild
@@ -7,29 +7,41 @@ 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
+
+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="3.4.0"
+ 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://github.com/darktable-org/${PN}/releases/download/release-${DOC_PV}/${PN}-usermanual.pdf -> ${PN}-usermanual-${DOC_PV}.pdf )"
+
+ KEYWORDS="~amd64 ~arm64"
+ LANGS=" af cs de es fi fr he hu it pl pt-BR ru sk sl"
+fi
+
+IUSE="avif colord cups cpu_flags_x86_sse3 doc flickr geolocation gmic gnome-keyring gphoto2 graphicsmagick jpeg2k kwallet
+ lto lua nls opencl openmp openexr test tools webp
${LANGS// / l10n_}"
-REQUIRED_USE="system-lua? ( lua ${LUA_REQUIRED_USE} )"
+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 )
"
COMMON_DEPEND="
dev-db/sqlite:3
@@ -49,6 +61,7 @@ COMMON_DEPEND="
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 )
@@ -58,9 +71,9 @@ COMMON_DEPEND="
gphoto2? ( media-libs/libgphoto2:= )
graphicsmagick? ( media-gfx/graphicsmagick )
jpeg2k? ( media-libs/openjpeg:2= )
+ lua? ( ${LUA_DEPS} )
opencl? ( virtual/opencl )
openexr? ( media-libs/openexr:0= )
- system-lua? ( ${LUA_DEPS} )
webp? ( media-libs/libwebp:0= )
"
DEPEND="${COMMON_DEPEND}
@@ -73,10 +86,12 @@ RDEPEND="${COMMON_DEPEND}
kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )
"
+# the xmmintrin patch will no longer be needed come 3.4.1
PATCHES=(
"${FILESDIR}"/"${PN}"-find-opencl-header.patch
"${FILESDIR}"/${PN}-3.0.2_cmake-march-autodetection.patch
- "${FILESDIR}"/${PN}-3.0.2_jsonschema-automagic.patch
+ "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
+ "${FILESDIR}"/${PN}-3.4.0-xmmintrin-sse-only.patch
)
S="${WORKDIR}/${P/_/~}"
@@ -95,6 +110,10 @@ pkg_pretend() {
fi
}
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
src_prepare() {
use cpu_flags_x86_sse3 && append-flags -msse3
@@ -104,15 +123,14 @@ 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)
+ -DDONT_USE_INTERNAL_LUA=ON
-DRAWSPEED_ENABLE_LTO=$(usex lto)
- -DUSE_AVIF=no
+ -DUSE_AVIF=$(usex avif)
-DUSE_CAMERA_SUPPORT=$(usex gphoto2)
-DUSE_COLORD=$(usex colord)
-DUSE_FLICKR=$(usex flickr)
@@ -128,6 +146,7 @@ src_configure() {
-DUSE_OPENJPEG=$(usex jpeg2k)
-DUSE_OPENMP=$(usex openmp)
-DUSE_WEBP=$(usex webp)
+ -DWANT_JSON_VALIDATION=$(usex test)
)
CMAKE_BUILD_TYPE="RELWITHDEBINFO"
cmake_src_configure
@@ -135,9 +154,10 @@ 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
+ if use nls; then
for lang in ${LANGS} ; do
if ! use l10n_${lang}; then
rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
diff --git a/media-gfx/darktable/darktable-3.4.0.ebuild b/media-gfx/darktable/darktable-3.4.0.ebuild
deleted file mode 100644
index ffafc687cb4b..000000000000
--- a/media-gfx/darktable/darktable-3.4.0.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# 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.4.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=" af cs de es fi fr he hu it pl pt-BR ru sk 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/darktable-9999.ebuild b/media-gfx/darktable/darktable-9999.ebuild
index 94d8c6574379..8405fd125512 100644
--- a/media-gfx/darktable/darktable-9999.ebuild
+++ b/media-gfx/darktable/darktable-9999.ebuild
@@ -3,25 +3,45 @@
EAPI=7
-inherit cmake flag-o-matic git-r3 toolchain-funcs xdg
+LUA_COMPAT=( lua5-3 )
-EGIT_REPO_URI="https://github.com/darktable-org/${PN}.git"
+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"
-#KEYWORDS="~amd64 ~arm64"
-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"
-IUSE="colord cups cpu_flags_x86_sse3 doc flickr geolocation gnome-keyring gphoto2 graphicsmagick jpeg2k kwallet
- lto lua nls opencl openmp openexr tools webp
+
+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="3.4.0"
+ 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://github.com/darktable-org/${PN}/releases/download/release-${DOC_PV}/${PN}-usermanual.pdf -> ${PN}-usermanual-${DOC_PV}.pdf )"
+
+ KEYWORDS="~amd64 ~arm64"
+ LANGS=" af cs de es fi fr he hu it pl pt-BR ru sk sl"
+fi
+
+IUSE="avif colord cups cpu_flags_x86_sse3 doc flickr geolocation gmic gnome-keyring gphoto2 graphicsmagick jpeg2k kwallet
+ lto lua nls opencl openmp openexr test tools webp
${LANGS// / l10n_}"
-BDEPEND=">=dev-python/jsonschema-3.2.0
+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 )
"
COMMON_DEPEND="
dev-db/sqlite:3
@@ -41,14 +61,17 @@ COMMON_DEPEND="
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 )
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= )
+ lua? ( ${LUA_DEPS} )
opencl? ( virtual/opencl )
openexr? ( media-libs/openexr:0= )
webp? ( media-libs/libwebp:0= )
@@ -65,8 +88,12 @@ RDEPEND="${COMMON_DEPEND}
PATCHES=(
"${FILESDIR}"/"${PN}"-find-opencl-header.patch
+ "${FILESDIR}"/${PN}-3.0.2_cmake-march-autodetection.patch
+ "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
)
+S="${WORKDIR}/${P/_/~}"
+
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
# Bug #695658
@@ -81,6 +108,10 @@ pkg_pretend() {
fi
}
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
src_prepare() {
use cpu_flags_x86_sse3 && append-flags -msse3
@@ -90,17 +121,18 @@ src_prepare() {
}
src_configure() {
- # TODO: switch to system Lua once 5.3 has been unmasked
local mycmakeargs=(
- -DDONT_USE_INTERNAL_LUA=OFF
-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)
+ -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)
@@ -112,6 +144,7 @@ src_configure() {
-DUSE_OPENJPEG=$(usex jpeg2k)
-DUSE_OPENMP=$(usex openmp)
-DUSE_WEBP=$(usex webp)
+ -DWANT_JSON_VALIDATION=$(usex test)
)
CMAKE_BUILD_TYPE="RELWITHDEBINFO"
cmake_src_configure
@@ -119,9 +152,10 @@ 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
+ if use nls; then
for lang in ${LANGS} ; do
if ! use l10n_${lang}; then
rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
@@ -129,3 +163,15 @@ src_install() {
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-3.4.0-xmmintrin-sse-only.patch b/media-gfx/darktable/files/darktable-3.4.0-xmmintrin-sse-only.patch
new file mode 100644
index 000000000000..2e13ad859c82
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-3.4.0-xmmintrin-sse-only.patch
@@ -0,0 +1,30 @@
+From d10c290fb3b47bbc8fd90d6d1d7935b900c1caf6 Mon Sep 17 00:00:00 2001
+From: Pascal Obry <pascal@obry.net>
+Date: Thu, 24 Dec 2020 16:17:19 +0100
+Subject: [PATCH] guided_filter: include xmmintrin.h only if SSE defined.
+
+Fixes #7428.
+---
+ src/common/guided_filter.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/common/guided_filter.h b/src/common/guided_filter.h
+index 36be0de04b9..59c8b2af999 100644
+--- a/src/common/guided_filter.h
++++ b/src/common/guided_filter.h
+@@ -18,6 +18,7 @@
+
+ #pragma once
+
++#if defined(__SSE__)
+ #ifdef __PPC64__
+ #ifdef NO_WARN_X86_INTRINSICS
+ #include <xmmintrin.h>
+@@ -29,6 +30,7 @@
+ #else
+ #include <xmmintrin.h>
+ #endif // __PPC64__
++#endif
+
+ #include "common/darktable.h"
+ #include "common/opencl.h"
diff --git a/media-gfx/darktable/files/darktable-3.4.0_jsonschema-automagic.patch b/media-gfx/darktable/files/darktable-3.4.0_jsonschema-automagic.patch
new file mode 100644
index 000000000000..45d61e6af6c2
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-3.4.0_jsonschema-automagic.patch
@@ -0,0 +1,25 @@
+jsonschema is only used at install time to validate a file that release
+tarballs already include, treat running it as a late part of tests.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -350,6 +350,9 @@
+ endif()
+
+ # we need jsonschema to check noiseprofiles.json
++# In case of Git clones this file is generated at build time, for releases
++# it is included in the tarball.
++if (WANT_JSON_VALIDATION)
+ find_program(jsonschema_BIN jsonschema)
+ if(${jsonschema_BIN} STREQUAL "jsonschema_BIN-NOTFOUND")
+ message(STATUS "Missing jsonschema, problems in noiseprofiles.json might go unnoticed")
+@@ -358,6 +361,9 @@
+ message(STATUS "Found jsonschema")
+ set(VALIDATE_JSON 1)
+ endif(${jsonschema_BIN} STREQUAL "jsonschema_BIN-NOTFOUND")
++else()
++ set(VALIDATE_JSON 0)
++endif()
+
+ # we need an XSLT interpreter to generate preferences_gen.h and darktablerc
+ find_program(Xsltproc_BIN xsltproc)
diff --git a/media-gfx/darktable/metadata.xml b/media-gfx/darktable/metadata.xml
index 5661ac61bfdc..a46ea727d4c8 100644
--- a/media-gfx/darktable/metadata.xml
+++ b/media-gfx/darktable/metadata.xml
@@ -10,6 +10,7 @@
<name>Markus Meier</name>
</maintainer>
<use>
+ <flag name="avif">Support importing and exporting AVIF images</flag>
<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>