From: David Seifert Date: Sat, 11 Feb 2017 19:21:49 +0000 (+0100) Subject: virtual/imagemagick-tools: Add virtual for media-gfx/{image,graphics}magick X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=e53d7fd2ceed3894953eccecfefe4ef0af2fe0df;p=gentoo.git virtual/imagemagick-tools: Add virtual for media-gfx/{image,graphics}magick * Packages that do **not** link to either library and just consume the runtime command-line tools of either package should depend on the virtual in general. This reduces the complexity of the depgraph and makes central USE flag handling much easier. * Packages that can link to either imagemagick or graphicsmagick need more delicate handling in order to be usable with subslots. 1) Packages that **require** either imagemagick or graphicsmagick should use USE="graphicsmagick" to differentiate which one to use by specifying !graphicsmagick? ( media-gfx/imagemagick:= ) graphicsmagick? ( media-gfx/graphicsmagick:= ) 2) Packages that **may** use either imagemagick or graphicsmagick, but don't **require** it, should additionally add USE="imagemagick" and specify imagemagick? ( !graphicsmagick? ( media-gfx/imagemagick:= ) graphicsmagick? ( media-gfx/graphicsmagick:= ) ) So that the semantics become: USE="imagemagick" = "I want to build with optional imagemagick or graphicsmagick support" USE="-imagemagick" = "I do NOT want optional support for imagemagick and/or graphicsmagick" USE="-graphicsmagick" = "I want to build against media-gfx/imagemagick" USE="graphicsmagick" = "I want to build against media-gfx/graphicsmagick" This avoids package.use pollution due to setting REQUIRED_USE. Bug: https://bugs.gentoo.org/show_bug.cgi?id=314431 Package-Manager: Portage-2.3.3, Repoman-2.3.1 Closes: https://github.com/gentoo/gentoo/pull/3907 --- diff --git a/virtual/imagemagick-tools/imagemagick-tools-0.ebuild b/virtual/imagemagick-tools/imagemagick-tools-0.ebuild new file mode 100644 index 000000000000..1809e985eed9 --- /dev/null +++ b/virtual/imagemagick-tools/imagemagick-tools-0.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +DESCRIPTION="Virtual for imagemagick command line tools" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86" +IUSE="jpeg perl png svg tiff" + +# This virtual is to be used **ONLY** for depending on the runtime +# tools of imagemagick/graphicsmagick. It should and cannot be used +# for linking against, as subslots are not transitively passed on. +# For linking, you will need to depend on the respective libraries +# in all consuming ebuilds and use appropriate sub-slot operators. +# See also: https://bugs.gentoo.org/show_bug.cgi?id=314431 +RDEPEND=" + || ( + media-gfx/imagemagick[jpeg?,perl?,png?,svg?,tiff?] + media-gfx/graphicsmagick[imagemagick,jpeg?,perl?,png?,svg?,tiff?] + )" diff --git a/virtual/imagemagick-tools/metadata.xml b/virtual/imagemagick-tools/metadata.xml new file mode 100644 index 000000000000..899a49093b0d --- /dev/null +++ b/virtual/imagemagick-tools/metadata.xml @@ -0,0 +1,8 @@ + + + + + graphics@gentoo.org + Gentoo Graphics Project + +