virtual/imagemagick-tools: Add virtual for media-gfx/{image,graphics}magick
authorDavid Seifert <soap@gentoo.org>
Sat, 11 Feb 2017 19:21:49 +0000 (20:21 +0100)
committerDavid Seifert <soap@gentoo.org>
Sat, 11 Feb 2017 19:43:11 +0000 (20:43 +0100)
* 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

virtual/imagemagick-tools/imagemagick-tools-0.ebuild [new file with mode: 0644]
virtual/imagemagick-tools/metadata.xml [new file with mode: 0644]

diff --git a/virtual/imagemagick-tools/imagemagick-tools-0.ebuild b/virtual/imagemagick-tools/imagemagick-tools-0.ebuild
new file mode 100644 (file)
index 0000000..1809e98
--- /dev/null
@@ -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 (file)
index 0000000..899a490
--- /dev/null
@@ -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>