diff options
author | Marek Szuba <marecki@gentoo.org> | 2020-06-18 15:26:54 +0200 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2020-06-18 18:29:04 +0200 |
commit | 3d0a1fedd1fc7d02a81179718903c097f7403887 (patch) | |
tree | dbfcdf65a3156e2e09c083ef3c3c822fff43ea5f /media-gfx | |
parent | kde-apps/kcalutils: Restrict tests (diff) | |
download | gentoo-3d0a1fedd1fc7d02a81179718903c097f7403887.tar.gz gentoo-3d0a1fedd1fc7d02a81179718903c097f7403887.tar.bz2 gentoo-3d0a1fedd1fc7d02a81179718903c097f7403887.zip |
media-gfx/darktable: allow enabling LTO in RawSpeed via USE=lto
Recommended by upstream but for now very much experimental on the Gentoo side
and will almost certainly fall over for some compiler/linker combinations.
Do let us know if that happens!
Closes: https://bugs.gentoo.org/674762
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/darktable/darktable-3.0.2-r1.ebuild | 147 | ||||
-rw-r--r-- | media-gfx/darktable/darktable-9999.ebuild | 3 | ||||
-rw-r--r-- | media-gfx/darktable/metadata.xml | 1 |
3 files changed, 150 insertions, 1 deletions
diff --git a/media-gfx/darktable/darktable-3.0.2-r1.ebuild b/media-gfx/darktable/darktable-3.0.2-r1.ebuild new file mode 100644 index 000000000000..0d3a07d8b76f --- /dev/null +++ b/media-gfx/darktable/darktable-3.0.2-r1.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake flag-o-matic pax-utils 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 ~x86" +LANGS=" ca cs da de es fr he hu it ja nb nl pl ru sl" +# TODO add lua once dev-lang/lua-5.2 is unmasked +IUSE="colord cups cpu_flags_x86_sse3 doc flickr geolocation gnome-keyring gphoto2 graphicsmagick jpeg2k kwallet +lto nls opencl openmp openexr pax_kernel webp +${LANGS// / l10n_}" + +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 ) + 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= ) + webp? ( media-libs/libwebp:0= ) +" +DEPEND="${COMMON_DEPEND} + opencl? ( + >=sys-devel/clang-4 + >=sys-devel/llvm-4 + ) + openmp? ( >=sys-devel/gcc-6[openmp,graphite] ) +" +RDEPEND="${COMMON_DEPEND} + kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 ) +" + +PATCHES=( + "${FILESDIR}"/"${PN}"-find-opencl-header.patch + "${FILESDIR}"/${PN}-3.0.2_cmake-opencl-kernel-loop.patch +) + +S="${WORKDIR}/${P/_/~}" + +pkg_pretend() { + if use openmp ; then + tc-has-openmp || die "Please switch to an openmp compatible compiler" + 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() { + local mycmakeargs=( + -DBUILD_PRINT=$(usex cups) + -DCUSTOM_CFLAGS=ON + -DRAWSPEED_ENABLE_LTO=$(usex lto) + -DUSE_CAMERA_SUPPORT=$(usex gphoto2) + -DUSE_COLORD=$(usex colord) + -DUSE_FLICKR=$(usex flickr) + -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick) + -DUSE_KWALLET=$(usex kwallet) + -DUSE_LIBSECRET=$(usex gnome-keyring) + -DUSE_LUA=OFF + -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 + + if use pax_kernel && use opencl ; then + pax-mark Cm "${ED}"/usr/bin/${PN} || die + eqawarn "USE=pax_kernel is set meaning that ${PN} will be run" + eqawarn "under a PaX enabled kernel. To do so, the ${PN} binary" + eqawarn "must be modified and this *may* lead to breakage! If" + eqawarn "you suspect that ${PN} is broken by this modification," + eqawarn "please open a bug." + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + 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." + echo + ewarn "It will not be possible to downgrade!" +} diff --git a/media-gfx/darktable/darktable-9999.ebuild b/media-gfx/darktable/darktable-9999.ebuild index 20617da3c0a4..6236b05ef1d7 100644 --- a/media-gfx/darktable/darktable-9999.ebuild +++ b/media-gfx/darktable/darktable-9999.ebuild @@ -16,7 +16,7 @@ SLOT="0" 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" # TODO add lua once dev-lang/lua-5.2 is unmasked IUSE="colord cups cpu_flags_x86_sse3 doc flickr geolocation gnome-keyring gphoto2 graphicsmagick jpeg2k kwallet -nls opencl openmp openexr pax_kernel webp +lto nls opencl openmp openexr pax_kernel webp ${LANGS// / l10n_}" BDEPEND=" @@ -87,6 +87,7 @@ src_configure() { local mycmakeargs=( -DBUILD_PRINT=$(usex cups) -DCUSTOM_CFLAGS=ON + -DRAWSPEED_ENABLE_LTO=$(usex lto) -DUSE_CAMERA_SUPPORT=$(usex gphoto2) -DUSE_COLORD=$(usex colord) -DUSE_FLICKR=$(usex flickr) diff --git a/media-gfx/darktable/metadata.xml b/media-gfx/darktable/metadata.xml index 7144702bb778..859703428322 100644 --- a/media-gfx/darktable/metadata.xml +++ b/media-gfx/darktable/metadata.xml @@ -9,6 +9,7 @@ <flag name="flickr">Add support for uploading photos to flickr</flag> <flag name="geolocation">Enable geotagging support</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> <flag name="pax_kernel">Triggers paxmarking of main darktable binary</flag> </use> |