summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2017-02-11 20:21:49 +0100
committerDavid Seifert <soap@gentoo.org>2017-02-11 20:43:11 +0100
commite53d7fd2ceed3894953eccecfefe4ef0af2fe0df (patch)
treefe99e595e5e41f518c02c7871b193716566de64f /virtual
parentprofiles: make USE=graphicsmagick a global USE flag (diff)
downloadgentoo-e53d7fd2ceed3894953eccecfefe4ef0af2fe0df.tar.gz
gentoo-e53d7fd2ceed3894953eccecfefe4ef0af2fe0df.tar.bz2
gentoo-e53d7fd2ceed3894953eccecfefe4ef0af2fe0df.zip
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
Diffstat (limited to 'virtual')
-rw-r--r--virtual/imagemagick-tools/imagemagick-tools-0.ebuild22
-rw-r--r--virtual/imagemagick-tools/metadata.xml8
2 files changed, 30 insertions, 0 deletions
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>graphics@gentoo.org</email>
+ <name>Gentoo Graphics Project</name>
+ </maintainer>
+</pkgmetadata>