git: 45526ecbeec3 - main - framework: Add new USES 'magick' for graphics/ImageMagick*

From: Tobias C. Berner <tcberner_at_FreeBSD.org>
Date: Sat, 11 Dec 2021 13:51:09 UTC
The branch main has been updated by tcberner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=45526ecbeec33dbb87f0b678d4c04988aab9b657

commit 45526ecbeec33dbb87f0b678d4c04988aab9b657
Author:     Tobias C. Berner <tcberner@FreeBSD.org>
AuthorDate: 2021-10-30 18:08:16 +0000
Commit:     Tobias C. Berner <tcberner@FreeBSD.org>
CommitDate: 2021-12-11 13:50:53 +0000

    framework: Add new USES 'magick' for graphics/ImageMagick*
    
    A new USES has been added to depend on ImageMagick.
    
            USES=magick
    
    adds a LIB_DEPENDS on graphics/ImageMagick${IMAGEMAGICK_DEFAULT}.
    
    If a specific version is required, use for example
    
            USES=magick:6        resp.     USES=magick:7
    
    If only a build, run or test is required, use for example
    
            USES=magick:build    resp.     USES=magick:6,build,test
    
    If a dependency on the nox11 flavor is required, use for example
    
            USES=magick:nox11    resp.     USES=magick:7,nox11,run,test
    
    See magick.mk for more details on the available flags.
    
    The tree has been completely converted to make use of this.
    
    Approved by:    bapt
    Differential Revision: https://reviews.freebsd.org/D32754
---
 CHANGES                                    | 23 ++++++++
 Mk/Scripts/qa.sh                           |  9 +++
 Mk/Uses/magick.mk                          | 93 ++++++++++++++++++++++++++++++
 audio/beets/Makefile                       |  2 +-
 audio/kwave/Makefile                       |  3 +-
 audio/mp3plot/Makefile                     |  2 +-
 cad/alliance/Makefile                      |  5 +-
 comms/apitran/Makefile                     |  5 +-
 comms/xastir/Makefile                      |  2 +-
 databases/opendbviewer/Makefile            |  4 +-
 databases/virtuoso/Makefile                |  2 +-
 deskutils/goesimage/Makefile               |  3 +-
 deskutils/py-paperless/Makefile            |  8 +--
 devel/bugzilla44/Makefile                  |  2 +-
 devel/bugzilla50/Makefile                  |  2 +-
 devel/p5-Project-Gantt/Makefile            |  5 +-
 devel/rubygem-paperclip-rails5/Makefile    |  4 +-
 devel/rubygem-paperclip-rails50/Makefile   |  5 +-
 editors/emacs-devel/Makefile               |  2 +-
 editors/emacs/Makefile                     |  2 +-
 emulators/mgba/Makefile                    |  3 +-
 games/enigma/Makefile                      |  3 +-
 games/openclaw/Makefile                    |  3 +-
 games/openfodder/Makefile                  |  2 +-
 games/openspades/Makefile                  |  3 +-
 games/sgt-puzzles/Makefile                 |  4 +-
 games/tuxpaint/Makefile                    |  3 +-
 graphics/acidwarp-sdl/Makefile             |  4 +-
 graphics/autotrace/Makefile                |  2 +-
 graphics/aview/Makefile                    |  5 +-
 graphics/chafa/Makefile                    |  4 +-
 graphics/converseen/Makefile               |  4 +-
 graphics/curator/Makefile                  |  4 +-
 graphics/cuttlefish/Makefile               |  3 +-
 graphics/dcraw-m/Makefile                  |  5 +-
 graphics/digikam/Makefile                  |  3 +-
 graphics/dmtx-utils/Makefile               |  5 +-
 graphics/fpc-imagemagick/Makefile          |  2 +-
 graphics/freetype-gl/Makefile              |  3 +-
 graphics/gimp-gmic-plugin/Makefile         |  3 +-
 graphics/gscan2pdf/Makefile                |  4 +-
 graphics/hdr_tools/Makefile                |  3 +-
 graphics/imageindex/Makefile               |  5 +-
 graphics/inkscape/Makefile                 |  2 +-
 graphics/instant-meshes/Makefile           |  3 +-
 graphics/kxstitch/Makefile                 |  5 +-
 graphics/l2p/Makefile                      |  4 +-
 graphics/libboard/Makefile                 |  4 +-
 graphics/meh/Makefile                      |  3 +-
 graphics/npretty/Makefile                  |  3 +-
 graphics/opendx/Makefile                   |  5 +-
 graphics/openfx-arena/Makefile             |  3 +-
 graphics/optar/Makefile                    |  3 +-
 graphics/p5-CAD-Drawing/Makefile           |  5 +-
 graphics/p5-Image-Heatmap/Makefile         |  4 +-
 graphics/p5-Image-Magick-Iterator/Makefile |  5 +-
 graphics/p5-Image-OCR-Tesseract/Makefile   |  5 +-
 graphics/pecl-imagick-im7/Makefile         |  4 +-
 graphics/pecl-imagick/Makefile             |  4 +-
 graphics/pfstools/Makefile                 |  2 +-
 graphics/pqiv/Makefile                     |  2 +-
 graphics/pstoedit/Makefile                 |  2 +-
 graphics/py-sorl-thumbnail/Makefile        |  2 +-
 graphics/py-wand/Makefile                  |  8 +--
 graphics/raster3d/Makefile                 |  2 +-
 graphics/reallyslick/Makefile              |  5 +-
 graphics/recoverjpeg/Makefile              |  5 +-
 graphics/renrot/Makefile                   |  2 +-
 graphics/rubygem-mini_magick/Makefile      |  8 +--
 graphics/rubygem-rmagick/Makefile          |  4 +-
 graphics/s2tc/Makefile                     |  5 +-
 graphics/synfig/Makefile                   |  3 +-
 graphics/synfigstudio/Makefile             |  3 +-
 graphics/ttygif/Makefile                   |  4 +-
 graphics/variety/Makefile                  |  3 +-
 graphics/vips/Makefile                     |  4 +-
 graphics/xd3d/Makefile                     |  2 +-
 graphics/zbar/Makefile                     |  2 +-
 japanese/mypaedia-fpw-package/Makefile     |  5 +-
 japanese/srd-fpw-package/Makefile          |  3 +-
 mail/libpst/Makefile                       |  4 +-
 math/glgraph/Makefile                      |  5 +-
 math/gri/Makefile                          |  2 +-
 math/sage/Makefile                         |  5 +-
 misc/gkrellshoot2/Makefile                 |  5 +-
 misc/img2xterm/Makefile                    |  4 +-
 misc/pyobd/Makefile                        |  3 +-
 multimedia/dvd-slideshow/Makefile          |  3 +-
 multimedia/dvdauthor/Makefile              |  2 +-
 multimedia/dvdrip/Makefile                 |  3 +-
 multimedia/emby-server/Makefile            |  8 ++-
 multimedia/libopenshot/Makefile            |  2 +-
 multimedia/libxine/Makefile                |  2 +-
 multimedia/lives/Makefile                  |  3 +-
 multimedia/py-moviepy/Makefile             |  4 +-
 multimedia/transcode/Makefile              |  2 +-
 multimedia/vapoursynth/Makefile            |  3 +-
 net-im/pidgin-latex/Makefile               |  5 +-
 net-im/purple-discord/Makefile             |  3 +-
 net-mgmt/librenms/Makefile                 |  8 +--
 net/scapy/Makefile                         |  4 +-
 net/tigervnc-viewer/Makefile               |  3 +-
 print/cups-filters/Makefile                |  4 +-
 print/html2ps/Makefile                     |  5 +-
 print/latex2rtf/Makefile                   |  2 +-
 print/lilypond-devel/Makefile              |  3 +-
 print/lilypond/Makefile                    |  3 +-
 print/muttprint/Makefile                   |  4 +-
 print/pdf-redact-tools/Makefile            |  5 +-
 print/pdf-tools/Makefile                   |  5 +-
 print/texvc/Makefile                       |  3 +-
 science/xcrysden/Makefile                  |  3 +-
 security/libfprint/Makefile                |  5 +-
 security/p5-GD-SecurityImage/Makefile      |  6 +-
 sysutils/xvidcap/Makefile                  |  5 +-
 textproc/docbook2odf/Makefile              |  5 +-
 textproc/eqe/Makefile                      |  5 +-
 textproc/pdfsandwich/Makefile              |  5 +-
 textproc/qr/Makefile                       |  3 +-
 www/coppermine/Makefile                    |  2 +-
 www/fgallery/Makefile                      |  4 +-
 www/gallery2/Makefile                      |  2 +-
 www/gpx2map/Makefile                       |  4 +-
 www/igal2/Makefile                         |  4 +-
 www/ilias/Makefile                         |  5 +-
 www/ilias6/Makefile                        |  3 +-
 www/nginx-devel/Makefile.extmod            |  4 +-
 www/nginx/Makefile.extmod                  |  4 +-
 www/p5-jQuery-File-Upload/Makefile         |  3 +-
 www/serendipity/Makefile                   |  2 +-
 www/trafficserver/Makefile                 |  4 +-
 www/twiki-MathModePlugin/Makefile          |  2 +-
 www/typo3-10/Makefile                      |  4 +-
 www/typo3-11/Makefile                      |  4 +-
 www/typo3-9/Makefile                       |  6 +-
 x11-fonts/fontpreview/Makefile             |  3 +-
 x11-themes/cursor-crystal-theme/Makefile   |  5 +-
 x11-themes/icons-tango-extras/Makefile     |  5 +-
 x11-themes/icons-tango/Makefile            |  5 +-
 x11-wm/awesome/Makefile                    |  5 +-
 x11-wm/epplets/Makefile                    |  5 +-
 x11-wm/libwraster/Makefile                 |  2 +-
 x11-wm/nscde/Makefile                      |  3 +-
 x11-wm/windowmaker/Makefile                |  2 +-
 x11/py-pyscreenshot/Makefile               |  5 +-
 x11/xlockmore/Makefile                     |  4 +-
 146 files changed, 343 insertions(+), 313 deletions(-)

diff --git a/CHANGES b/CHANGES
index beea8548e828..e1136763ed79 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,29 @@ in the release notes and/or placed into UPDATING.
 
 All ports committers are allowed to commit to this file.
 
+20211211:
+AUTHOR: tcberner@FreeBSD.org
+
+  A new USES has been added to depend on ImageMagick.
+
+     USES=magick
+
+  adds a LIB_DEPENDS on graphics/ImageMagick${IMAGEMAGICK_DEFAULT}.
+
+  If a specific version is required, use for example
+
+     USES=magick:6        resp.     USES=magick:7
+
+  If only a build, run or test is required, use for example
+
+     USES=magick:build    resp.     USES=magick:6,build,test
+
+  If a dependency on the nox11 flavor is required, use for example
+
+     USES=magick:nox11    resp.     USES=magick:7,nox11,run,test
+
+  See magick.mk for more details on the available flags.
+
 20211122:
 AUTHOR: bapt@FreeBSD.org
 
diff --git a/Mk/Scripts/qa.sh b/Mk/Scripts/qa.sh
index 9caf01581b47..539fc4a73fdd 100644
--- a/Mk/Scripts/qa.sh
+++ b/Mk/Scripts/qa.sh
@@ -597,6 +597,15 @@ proxydeps_suggest_uses() {
 	# lua
 	elif expr ${pkg} : "^lang/lua" > /dev/null; then
 		warn "you need USES+=lua"
+	# magick
+	elif [ ${pkg} = "graphics/ImageMagick6" ] ; then
+		warn "you need USES=magick:6"
+	elif [ ${pkg} = "graphics/ImageMagick6-nox11" ] ; then
+		warn "you need USES=magick:6,nox11"
+	elif [ ${pkg} = "graphics/ImageMagick7" ] ; then
+		warn "you need USES=magick:7"
+	elif [ ${pkg} = "graphics/ImageMagick7-nox11" ] ; then
+		warn "you need USES=magick:7,nox11"
 	# motif
 	elif [ ${pkg} = "x11-toolkits/lesstif" -o ${pkg} = "x11-toolkits/open-motif" ]; then
 		warn "you need USES+=motif"
diff --git a/Mk/Uses/magick.mk b/Mk/Uses/magick.mk
new file mode 100644
index 000000000000..1d44270031ab
--- /dev/null
+++ b/Mk/Uses/magick.mk
@@ -0,0 +1,93 @@
+# Handle dependency on ImageMagick
+#
+# Feature:	magick
+# Usage:	USES=magick:ARGS
+# Valid ARGS:	[version],[kinds],[flavor]
+#
+# version	The chooseable versions are <none>, 6 and 7.
+#		USES=magick   -- depend on ${IMAGEMAGICK_DEFAULT} (default)
+#		USES=magick:6 -- depend on ImageMagick6
+#		USES=magick:7 -- depend on ImageMagick7
+#
+# flavor	The flavors are <none> and nox11
+# 		USES=magick       -- depend on the default flavor (default)
+# 		USES=magick:nox11 -- depend on the nox11 flavor
+#
+# kinds		The dependency kinds are <none>, lib, build, run and test
+#		USES=magick       -- add a LIB_DEPENDS (default)
+#		USES=magick:lib   -- add a LIB_DEPENDS
+#		USES=magick:build -- add a BUILD_DEPENDS
+#		USES=magick:run   -- add a RUN_DEPENDS
+#		USES=magick:test  -- add a TEST_DEPENDS
+#		USES=build,run    -- add a BUILD_- and RUN_DEPENDS
+#
+# In short, on a default ports tree
+# 	USES=magick
+# is equivalent to
+# 	USES=magick:7,lib
+#
+# MAINTAINER: tcberner@FreeBSD.org
+#
+
+.if ! defined(_INCLUDE_USES_MAGICK_MK)
+_INCLUDE_USES_MAGICK_MK=	YES
+
+#=== Version selection ===
+_magick_versions=	6 7
+
+_magick_version=	#
+.  for _ver in ${_magick_versions:O:u}
+.    if ${magick_ARGS:M${_ver}}
+.      if empty(_magick_version)
+_magick_version=	${_ver}
+.      else
+IGNORE=		Incorrect USES=magick:${magick_ARGS} - multiple versions defined
+.      endif
+.    endif
+.  endfor
+# Fallback to the default version
+.if empty(_magick_version)
+_magick_version=	${IMAGEMAGICK_DEFAULT}
+.endif
+
+#=== Flavor selection ===
+_magick_flavors=	nox11
+_magick_flavor=		#
+.  for _flavor in ${_magick_flavors:O:u}
+.    if ${magick_ARGS:M${_flavor}}
+.      if empty(_magick_flavor)
+_magick_flavor=	-${_flavor}
+.      else
+IGNORE=		Incorrect USES=magick:${magick_ARGS} - multiple flavors defined
+.      endif
+.    endif
+.  endfor
+
+#=== Dependeny selection ===
+_magick_depends=	lib build run test
+_magick_depend=		#
+.  for _depend in ${_magick_depends:O:u}
+.    if ${magick_ARGS:M${_depend}}
+_magick_depend+=	${_depend}
+.    endif
+.  endfor
+.if empty(_magick_depend)
+_magick_depend=		lib
+.endif
+
+#=== Dependency setup ===
+_MAGICK_PORT=	graphics/ImageMagick${_magick_version}${_magick_flavor}
+_MAGICK_LIB=	libMagick++-${_magick_version}.so
+_MAGICK_PKG=	ImageMagick${_magick_version}${_magick_flavor}
+
+_MAGICK_BUILD_DEPENDS=	${_MAGICK_PKG}>=${_magick_version}:${_MAGICK_PORT}
+_MAGICK_LIB_DEPENDS=	${_MAGICK_LIB}:${_MAGICK_PORT}
+_MAGICK_RUN_DEPENDS=	${_MAGICK_PKG}>=${_magick_version}:${_MAGICK_PORT}
+_MAGICK_TEST_DEPENDS=	${_MAGICK_PKG}>=${_magick_version}:${_MAGICK_PORT}
+
+#=== Actual dependency creation ===
+.  for _kind in ${_magick_depend}
+${_kind:tu}_DEPENDS+=	${_MAGICK_${_kind:tu}_DEPENDS}
+.  endfor
+
+.endif
diff --git a/audio/beets/Makefile b/audio/beets/Makefile
index c6b6fd0961b3..be43c7e2d2b2 100644
--- a/audio/beets/Makefile
+++ b/audio/beets/Makefile
@@ -68,7 +68,7 @@ DISCOGS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}discogs-client>=2.2.1:audio/py-disco
 EMBYUPDATE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
 FETCHART_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
 FFMPEG_RUN_DEPENDS=	ffmpeg>=2:multimedia/ffmpeg
-IMAGEMAGICK_RUN_DEPENDS=	convert:graphics/ImageMagick6
+IMAGEMAGICK_USES=	magick:6,run
 IPFS_RUN_DEPENDS=	ipfs-go:sysutils/ipfs-go
 KODIUPDATE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
 LASTFM_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pylast>=0:audio/py-pylast@${PY_FLAVOR}
diff --git a/audio/kwave/Makefile b/audio/kwave/Makefile
index a305c8d16369..0d6cf318f4b4 100644
--- a/audio/kwave/Makefile
+++ b/audio/kwave/Makefile
@@ -5,7 +5,6 @@ CATEGORIES=	audio kde kde-applications
 MAINTAINER=	kde@FreeBSD.org
 COMMENT=	Sound editor for KDE
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick6
 LIB_DEPENDS=	libaudiofile.so:audio/libaudiofile \
 		libFLAC.so:audio/flac \
 		libfftw3.so:math/fftw3 \
@@ -17,7 +16,7 @@ LIB_DEPENDS=	libaudiofile.so:audio/libaudiofile \
 		libvorbisenc.so:audio/libvorbis
 
 USES=		cmake compiler:c++11-lang desktop-file-utils gettext kde:5 \
-		localbase:ldflags pkgconfig qt:5 tar:xz
+		localbase:ldflags magick:6,build pkgconfig qt:5 tar:xz
 USE_KDE=	archive auth bookmarks codecs completion config configwidgets \
 		coreaddons crash dbusaddons i18n iconthemes itemviews \
 		jobwidgets kio service solid sonnet textwidgets widgetsaddons \
diff --git a/audio/mp3plot/Makefile b/audio/mp3plot/Makefile
index 5aca195200b4..82a07d7b7fee 100644
--- a/audio/mp3plot/Makefile
+++ b/audio/mp3plot/Makefile
@@ -31,7 +31,7 @@ PLIST_FILES=	bin/${PORTNAME} man/man1/${PORTNAME}.1.gz
 GD_CONFIGURE_ENABLE=	gd
 GD_LIB_DEPENDS=		libgd.so:graphics/gd
 IMAGEMAGICK_CONFIGURE_ENABLE=	magick
-IMAGEMAGICK_LIB_DEPENDS=libMagick++-6.so:graphics/ImageMagick6
+IMAGEMAGICK_USES=	magick:6
 
 post-patch:
 	@${REINPLACE_CMD} -e '/bldtype_/s|-O2||g; s|^extra_LD.*||g' ${WRKSRC}/configure
diff --git a/cad/alliance/Makefile b/cad/alliance/Makefile
index 9b9f8473d2d1..b39afaabe8b1 100644
--- a/cad/alliance/Makefile
+++ b/cad/alliance/Makefile
@@ -18,10 +18,9 @@ LICENSE_PERMS=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
 
 BROKEN_aarch64=	fails to link: collect2: error: ld returned 1 exit status
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick${IMAGEMAGICK_DEFAULT} \
-		fig2dev:print/fig2dev
+BUILD_DEPENDS=	fig2dev:print/fig2dev
 
-USES=		autoreconf:build gmake libtool motif tar:bz2 xorg
+USES=		autoreconf:build gmake libtool magick:build motif tar:bz2 xorg
 USE_GCC=	yes
 USE_TEX=	dvipsk:build latex:build
 USE_XORG=	ice sm x11 xext xt
diff --git a/comms/apitran/Makefile b/comms/apitran/Makefile
index 3c8243103655..8785f27f503f 100644
--- a/comms/apitran/Makefile
+++ b/comms/apitran/Makefile
@@ -14,10 +14,9 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}tkinter>0:x11-toolkits/py-tkinter@${PY_FLAVO
 		${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
 		${PYNUMPY} \
 		${PY_PILLOW} \
-		sox:audio/sox \
-		display:graphics/ImageMagick6
+		sox:audio/sox
 
-USES=		python:3.6+,run shebangfix
+USES=		magick:6,run python:3.6+,run shebangfix
 USE_GITHUB=	yes
 GH_ACCOUNT=	rsj56
 GH_TAGNAME=	d209347
diff --git a/comms/xastir/Makefile b/comms/xastir/Makefile
index 5420f7783a82..2a38e0cef473 100644
--- a/comms/xastir/Makefile
+++ b/comms/xastir/Makefile
@@ -60,7 +60,7 @@ OPTIONS_DEFAULT=	BDB CURL GMAGICK
 
 DAVIS_CONFIGURE_ON=	--enable-davis
 
-IMAGICK_LIB_DEPENDS=	libMagickWand-6.so:graphics/ImageMagick6
+IMAGICK_USES=		magick:6
 IMAGICK_CONFIGURE_WITH=	imagemagick
 
 GMAGICK_LIB_DEPENDS=	libGraphicsMagickWand.so:graphics/GraphicsMagick
diff --git a/databases/opendbviewer/Makefile b/databases/opendbviewer/Makefile
index a89512df01f3..4d7987782786 100644
--- a/databases/opendbviewer/Makefile
+++ b/databases/opendbviewer/Makefile
@@ -9,9 +9,7 @@ COMMENT=	Simple database explorer
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick6
-
-USES=		cmake compiler:c++11-lang qt:5
+USES=		cmake compiler:c++11-lang magick:6,build qt:5
 USE_GITHUB=	yes
 GH_ACCOUNT=	Jet1oeil
 USE_QT=		core gui network sql sql-sqlite3 testlib widgets \
diff --git a/databases/virtuoso/Makefile b/databases/virtuoso/Makefile
index 0dcaa0eb5ca7..61fec3050978 100644
--- a/databases/virtuoso/Makefile
+++ b/databases/virtuoso/Makefile
@@ -74,7 +74,7 @@ BROKEN_FreeBSD_14=	OpenSSL version 1.1.0 or greater is currently not supported
 
 .if ${PORT_OPTIONS:MIMAGEMAGICK}
 CONFIGURE_ARGS+=--enable-imagemagick=${LOCALBASE}
-LIB_DEPENDS+=	libMagickWand-6.so:graphics/ImageMagick6
+USES+=		magick:6
 PLIST_SUB+=	WITH_IMAGEMAGICK=""
 .else
 CONFIGURE_ARGS+=--disable-imagemagick
diff --git a/deskutils/goesimage/Makefile b/deskutils/goesimage/Makefile
index 11dc98caa647..780b7e5126ad 100644
--- a/deskutils/goesimage/Makefile
+++ b/deskutils/goesimage/Makefile
@@ -9,11 +9,10 @@ LICENSE=	UNLICENSE
 LICENSE_FILE=	${WRKSRC}/UNLICENSE
 
 RUN_DEPENDS=	bash:shells/bash \
-		convert:graphics/ImageMagick6 \
 		curl:ftp/curl \
 		nitrogen:sysutils/nitrogen
 
-USES=		shebangfix
+USES=		magick:6,run shebangfix
 SHEBANG_FILES=	goesimage
 USE_GITHUB=	yes
 GH_ACCOUNT=	pigmonkey
diff --git a/deskutils/py-paperless/Makefile b/deskutils/py-paperless/Makefile
index f80911ff5b16..8531da3df54e 100644
--- a/deskutils/py-paperless/Makefile
+++ b/deskutils/py-paperless/Makefile
@@ -67,10 +67,10 @@ IMAGICK7_X11_DESC=	ImageMagick7 with X11 support
 DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=1.8.3,1:textproc/py-sphinx@${PY_FLAVOR}
 DOCS_USES=		gmake
 
-IMAGICK6_X11_RUN_DEPENDS=	convert:graphics/ImageMagick6
-IMAGICK6_NOX11_RUN_DEPENDS=	convert:graphics/ImageMagick6-nox11
-IMAGICK7_X11_RUN_DEPENDS=	convert:graphics/ImageMagick7
-IMAGICK7_NOX11_RUN_DEPENDS=	convert:graphics/ImageMagick7-nox11
+IMAGICK6_X11_USES=		magick:6,run
+IMAGICK6_NOX11_USES=		magick:6,run,nox11
+IMAGICK7_X11_USES=		magick:7,run
+IMAGICK7_NOX11_USES=		magick:7,run,nox11
 
 PORTDOCS=	*
 
diff --git a/devel/bugzilla44/Makefile b/devel/bugzilla44/Makefile
index c7fc8f096b84..73de5c3d4a9e 100644
--- a/devel/bugzilla44/Makefile
+++ b/devel/bugzilla44/Makefile
@@ -69,7 +69,7 @@ MAIL_QUEUEING_RUN_DEPENDS=	p5-TheSchwartz>=1.10:devel/p5-TheSchwartz \
 				p5-File-Slurp>=9999.13:devel/p5-File-Slurp
 MOVE_BUGZ_RUN_DEPENDS=	p5-MIME-Tools>=5.406:mail/p5-MIME-Tools \
 			p5-XML-Twig>=0:textproc/p5-XML-Twig
-BMP2PNG_RUN_DEPENDS=	convert:graphics/ImageMagick6
+BMP2PNG_USES=		magick:6,run
 # Note: XML-RPC and JSON-RPC are deprecated in favor of REST
 # and will likely be removed in the Bugzilla 7.0 release.
 # XXX SOAP::Lite can be removed if upstream officially depends on
diff --git a/devel/bugzilla50/Makefile b/devel/bugzilla50/Makefile
index 589602d9f5e0..82766f276fb8 100644
--- a/devel/bugzilla50/Makefile
+++ b/devel/bugzilla50/Makefile
@@ -69,7 +69,7 @@ MAIL_QUEUEING_RUN_DEPENDS=	p5-TheSchwartz>=1.10:devel/p5-TheSchwartz \
 				p5-Daemon-Generic>=0:net/p5-Daemon-Generic
 MOVE_BUGZ_RUN_DEPENDS=	p5-MIME-Tools>=5.406:mail/p5-MIME-Tools \
 			p5-XML-Twig>=0:textproc/p5-XML-Twig
-BMP2PNG_RUN_DEPENDS=	convert:graphics/ImageMagick6
+BMP2PNG_USES=		magick:6,run
 # Note: XML-RPC and JSON-RPC are deprecated in favor of REST
 # and will likely be removed in the Bugzilla 7.0 release.
 # XXX SOAP::Lite can be removed if upstream officially depends on
diff --git a/devel/p5-Project-Gantt/Makefile b/devel/p5-Project-Gantt/Makefile
index 11df7bb64e32..c977094188e1 100644
--- a/devel/p5-Project-Gantt/Makefile
+++ b/devel/p5-Project-Gantt/Makefile
@@ -11,10 +11,9 @@ MAINTAINER=	perl@FreeBSD.org
 COMMENT=	Create Gantt charts to manage project scheduling
 
 BUILD_DEPENDS=	${RUN_DEPENDS}
-RUN_DEPENDS=	p5-Class-Date>=0:devel/p5-Class-Date \
-		convert:graphics/ImageMagick6
+RUN_DEPENDS=	p5-Class-Date>=0:devel/p5-Class-Date
 
-USES=		perl5
+USES=		magick:6,run perl5
 USE_PERL5=	configure
 WRKSRC=		${WRKDIR}/Gantt
 
diff --git a/devel/rubygem-paperclip-rails5/Makefile b/devel/rubygem-paperclip-rails5/Makefile
index 6e000f154c30..71e2358e3185 100644
--- a/devel/rubygem-paperclip-rails5/Makefile
+++ b/devel/rubygem-paperclip-rails5/Makefile
@@ -32,7 +32,7 @@ OPTIONS_DEFAULT=		IMNOX11
 IMNOX11_DESC=		Depend on ImageMagick without X11 support
 IMX11_DESC=		Depend on ImageMagick with X11 support
 
-IMNOX11_RUN_DEPENDS=	ImageMagick6-nox11>0:graphics/ImageMagick6-nox11
-IMX11_RUN_DEPENDS=	ImageMagick6>0:graphics/ImageMagick6
+IMNOX11_USES=		magick:6,run,nox11
+IMX11_USES=		magick:6,run
 
 .include <bsd.port.mk>
diff --git a/devel/rubygem-paperclip-rails50/Makefile b/devel/rubygem-paperclip-rails50/Makefile
index e1b19e51dc5a..f69dc8b34825 100644
--- a/devel/rubygem-paperclip-rails50/Makefile
+++ b/devel/rubygem-paperclip-rails50/Makefile
@@ -12,8 +12,7 @@ COMMENT=	Easy upload management for ActiveRecord
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	ImageMagick7-nox11>=0:graphics/ImageMagick7-nox11 \
-		rubygem-activemodel50>0:databases/rubygem-activemodel50 \
+RUN_DEPENDS=	rubygem-activemodel50>0:databases/rubygem-activemodel50 \
 		rubygem-activesupport50>=0:devel/rubygem-activesupport50 \
 		rubygem-mimemagic>=0.3.0:misc/rubygem-mimemagic \
 		rubygem-mime-types>=0:misc/rubygem-mime-types \
@@ -21,7 +20,7 @@ RUN_DEPENDS=	ImageMagick7-nox11>=0:graphics/ImageMagick7-nox11 \
 
 NO_ARCH=	yes
 USE_RUBY=	yes
-USES=		cpe gem
+USES=		cpe gem magick:7,nox11,run
 CPE_VENDOR=	thoughtbot
 
 .include <bsd.port.mk>
diff --git a/editors/emacs-devel/Makefile b/editors/emacs-devel/Makefile
index b66daf43c41e..3e69668d544f 100644
--- a/editors/emacs-devel/Makefile
+++ b/editors/emacs-devel/Makefile
@@ -162,7 +162,7 @@ LCMS2_CONFIGURE_WITH=		lcms2
 M17N_IMPLIES=			XFT
 M17N_LIB_DEPENDS=		libm17n.so:devel/m17n-lib
 M17N_CONFIGURE_WITH=		m17n-flt
-MAGICK_LIB_DEPENDS=		libMagickCore-7.so:graphics/ImageMagick7
+MAGICK_USES=			magick:7
 MAGICK_CONFIGURE_WITH=		imagemagick
 MAILUTILS_LIB_DEPENDS=		libmailutils.so:mail/mailutils
 MAILUTILS_CONFIGURE_WITH=	mailutils
diff --git a/editors/emacs/Makefile b/editors/emacs/Makefile
index a432d0572fa8..17c0af6d3613 100644
--- a/editors/emacs/Makefile
+++ b/editors/emacs/Makefile
@@ -175,7 +175,7 @@ LCMS2_CONFIGURE_WITH=		lcms2
 M17N_IMPLIES=			XFT
 M17N_LIB_DEPENDS=		libm17n.so:devel/m17n-lib
 M17N_CONFIGURE_WITH=		m17n-flt
-MAGICK_LIB_DEPENDS=		libMagickCore-7.so:graphics/ImageMagick7
+MAGICK_USES=			magick:7
 MAGICK_CONFIGURE_WITH=		imagemagick
 MAILUTILS_LIB_DEPENDS=		libmailutils.so:mail/mailutils
 MAILUTILS_CONFIGURE_WITH=	mailutils
diff --git a/emulators/mgba/Makefile b/emulators/mgba/Makefile
index 844e0fcd3027..f727b8e6c2e2 100644
--- a/emulators/mgba/Makefile
+++ b/emulators/mgba/Makefile
@@ -61,8 +61,7 @@ LIBRETRO_CMAKE_BOOL=	BUILD_LIBRETRO
 LIBRETRO_CMAKE_ON=	-DLIBRETRO_LIBDIR:PATH="${PREFIX}/lib/libretro"
 LIBRETRO_CONFLICTS_INSTALL=	libretro-mgba
 
-MAGICK_LIB_DEPENDS=	libMagickWand-6.so:graphics/ImageMagick6 \
-			libMagickCore-6.so:graphics/ImageMagick6
+MAGICK_USES=		magick:6
 MAGICK_CMAKE_BOOL=	USE_MAGICK
 
 QT5_USES=	desktop-file-utils qt:5
diff --git a/games/enigma/Makefile b/games/enigma/Makefile
index 26758c47be45..9cb448453776 100644
--- a/games/enigma/Makefile
+++ b/games/enigma/Makefile
@@ -14,13 +14,12 @@ LIB_DEPENDS=	libxerces-c.so.3:textproc/xerces-c3 \
 		libpng.so:graphics/png \
 		libenet.so:net/enet \
 		libcurl.so:ftp/curl
-BUILD_DEPENDS=	convert:graphics/ImageMagick6
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	Enigma-Game
 GH_PROJECT=	Enigma
 
-USES=		autoreconf:build gettext gmake iconv localbase pkgconfig sdl
+USES=		autoreconf:build gettext gmake iconv localbase magick:6,build pkgconfig sdl
 GNU_CONFIGURE=	yes
 USE_SDL=	sdl2 image2 mixer2 ttf2
 CONFIGURE_ARGS=	--with-system-enet
diff --git a/games/openclaw/Makefile b/games/openclaw/Makefile
index b2b158bc017a..b03b6693d46e 100644
--- a/games/openclaw/Makefile
+++ b/games/openclaw/Makefile
@@ -25,8 +25,7 @@ OPTIONS_DEFINE=	LAUNCHER
 OPTIONS_DEFAULT=	LAUNCHER
 
 LAUNCHER_DESC=	Install launcher to manage game settings
-LAUNCHER_USES=	mono
-LAUNCHER_BUILD_DEPENDS=	convert:graphics/ImageMagick6
+LAUNCHER_USES=	magick:6,build mono
 LAUNCHER_PLIST_FILES=	bin/ClawLauncher.exe bin/clawlauncher
 LAUNCHER_DESKTOP_ENTRIES=	\
 		"${GH_PROJECT}" \
diff --git a/games/openfodder/Makefile b/games/openfodder/Makefile
index 496ee6c18c63..3c7604e324cd 100644
--- a/games/openfodder/Makefile
+++ b/games/openfodder/Makefile
@@ -36,7 +36,7 @@ DESKTOP_ENTRIES="${PORTNAME}" \
 OPTIONS_DEFINE=	DOCS ICONS
 OPTIONS_DEFAULT=ICONS
 
-ICONS_BUILD_DEPENDS=	mogrify:graphics/ImageMagick${IMAGEMAGICK_DEFAULT}
+ICONS_USES=	magick:build
 
 post-patch:
 	@${REINPLACE_CMD} -e 's,clang++,${CXX},' \
diff --git a/games/openspades/Makefile b/games/openspades/Makefile
index cd5f8606416e..48f79b74fc3f 100644
--- a/games/openspades/Makefile
+++ b/games/openspades/Makefile
@@ -15,7 +15,6 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 ONLY_FOR_ARCHS=	amd64 powerpc64 powerpc64le
 ONLY_FOR_ARCHS_REASON=	bundles non-portable AngelScript
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick6 # for building icons
 LIB_DEPENDS=	libcurl.so:ftp/curl \
 		libopusfile.so:audio/opusfile
 
@@ -23,7 +22,7 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	yvt
 
 USES=		cmake:insource compiler:c++11-lib desktop-file-utils dos2unix \
-		gl gnome openal sdl xorg
+		gl gnome magick:6,build openal sdl xorg
 CMAKE_ARGS=	-DOPENSPADES_RESOURCES=OFF \
 		-DOPENSPADES_INSTALL_MAN="man/man6" \
 		-DOPENSPADES_INSTALL_BINARY="bin" \
diff --git a/games/sgt-puzzles/Makefile b/games/sgt-puzzles/Makefile
index bc31b955f096..2623dcb3a505 100644
--- a/games/sgt-puzzles/Makefile
+++ b/games/sgt-puzzles/Makefile
@@ -14,9 +14,7 @@ LICENSE_FILE=	${WRKSRC}/LICENCE
 
 COMMITHASH=	640f923
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick6-nox11
-
-USES=		cmake gnome perl5 pkgconfig
+USES=		cmake gnome magick:6,build,nox11 perl5 pkgconfig
 USE_PERL5=	build
 CMAKE_ARGS=	-DNAME_PREFIX:STRING=sgt-
 
diff --git a/games/tuxpaint/Makefile b/games/tuxpaint/Makefile
index 87dad77b9fea..fd41cd2ebb1a 100644
--- a/games/tuxpaint/Makefile
+++ b/games/tuxpaint/Makefile
@@ -11,14 +11,13 @@ COMMENT=	Drawing program designed for young children
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/docs/COPYING.txt
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick7
 LIB_DEPENDS=	libfribidi.so:converters/fribidi \
 		libpaper.so:print/libpaper \
 		libimagequant.so:graphics/libimagequant
 RUN_DEPENDS=	anytopnm:graphics/netpbm \
 		bash:shells/bash
 
-USES=		gettext gmake gnome gperf pkgconfig sdl shebangfix
+USES=		gettext gmake gnome gperf magick:7,build pkgconfig sdl shebangfix
 SHEBANG_FILES=	src/tuxpaint-import.sh
 USE_GNOME=	librsvg2
 USE_SDL=	image mixer sdl ttf pango
diff --git a/graphics/acidwarp-sdl/Makefile b/graphics/acidwarp-sdl/Makefile
index 73c4714de01a..6dd4c39a6e21 100644
--- a/graphics/acidwarp-sdl/Makefile
+++ b/graphics/acidwarp-sdl/Makefile
@@ -5,9 +5,7 @@ CATEGORIES=	graphics
 MAINTAINER=	swills@FreeBSD.org
 COMMENT=	Eye candy program which displays various patterns
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick7
-
-USES=		cmake sdl
+USES=		cmake magick:7,build sdl
 USE_SDL=	sdl2
 
 USE_GITHUB=	yes
diff --git a/graphics/autotrace/Makefile b/graphics/autotrace/Makefile
index b2d03ed1272f..aa3332d431d0 100644
--- a/graphics/autotrace/Makefile
+++ b/graphics/autotrace/Makefile
@@ -27,7 +27,7 @@ OPTIONS_DEFAULT=IMAGEMAGICK
 MING_DESC=	Enable swf interface
 PSTOEDIT_DESC=	Convert postscript to other formats
 
-IMAGEMAGICK_LIB_DEPENDS=	libMagickWand-6.so:graphics/ImageMagick6
+IMAGEMAGICK_USES=		magick:6
 IMAGEMAGICK_CONFIGURE_OFF=	--without-magick
 
 MING_LIB_DEPENDS=	libming.so:graphics/ming
diff --git a/graphics/aview/Makefile b/graphics/aview/Makefile
index 822c3d21e79f..33d110dce2ef 100644
--- a/graphics/aview/Makefile
+++ b/graphics/aview/Makefile
@@ -9,10 +9,11 @@ MASTER_SITES=	SF/aa-project/${PORTNAME}/${DISTVERSION}
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Graphics viewer for viewing netpbm format on console or X using aalib
 
-RUN_DEPENDS=	anytopnm:graphics/netpbm \
-		convert:graphics/ImageMagick6
+RUN_DEPENDS=	anytopnm:graphics/netpbm
 LIB_DEPENDS=	libaa.so:graphics/aalib
 
+USES=		magick:6,run
+
 WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION:R}
 
 GNU_CONFIGURE=	yes
diff --git a/graphics/chafa/Makefile b/graphics/chafa/Makefile
index 85dbfd62db71..e05b9a676a62 100644
--- a/graphics/chafa/Makefile
+++ b/graphics/chafa/Makefile
@@ -14,11 +14,9 @@ LICENSE_COMB=	multi
 LICENSE_FILE_GPLv3=	${WRKSRC}/COPYING
 LICENSE_FILE_LGPL3+ =	${WRKSRC}/COPYING.LESSER
 
-BUILD_DEPENDS=	convert:graphics/ImageMagick7
 LIB_DEPENDS=	libfreetype.so:print/freetype2 \
-		libMagickCore-7.so:graphics/ImageMagick7
 
-USES=		gettext-runtime gnome libtool tar:xz
+USES=		gettext-runtime gnome libtool magick:7 tar:xz
 USE_GNOME=	glib20
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
diff --git a/graphics/converseen/Makefile b/graphics/converseen/Makefile
index 3dc1ee0c5c46..3c7d56702b34 100644
--- a/graphics/converseen/Makefile
+++ b/graphics/converseen/Makefile
@@ -9,9 +9,7 @@ COMMENT=	Easy to use graphics conversion utility
 LICENSE=	GPLv3+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libMagick++-6.so:graphics/ImageMagick6
-
-USES=		cmake compiler:c++11-lang qt:5 tar:bzip2
+USES=		cmake compiler:c++11-lang magick:6 qt:5 tar:bzip2
 USE_QT=		core gui network widgets \
 		buildtools_build linguisttools_build qmake_build
 
diff --git a/graphics/curator/Makefile b/graphics/curator/Makefile
index 316511ad1756..ac453de88717 100644
--- a/graphics/curator/Makefile
+++ b/graphics/curator/Makefile
@@ -9,13 +9,11 @@ MASTER_SITES=	SF
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Static Image Gallery Generator for web or CD-ROM galleries
 
-USES=		python:3.6+
+USES=		magick:6,run python:3.6+
 USE_PYTHON=	distutils autoplist concurrent optsuffix
 
 PLIST_FILES=	man/man1/curator.1.gz
 
-RUN_DEPENDS=	convert:graphics/ImageMagick6
-
 post-install:
 	${INSTALL_MAN} ${FILESDIR}/curator.1 ${STAGEDIR}${PREFIX}/man/man1/curator.1
 
diff --git a/graphics/cuttlefish/Makefile b/graphics/cuttlefish/Makefile
index e6416d392f5e..975b711ba90b 100644
--- a/graphics/cuttlefish/Makefile
+++ b/graphics/cuttlefish/Makefile
@@ -10,10 +10,9 @@ MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Plots diurnal and geographical patterns of supplied data
 
 RUN_DEPENDS+=	p5-GD>=0:graphics/p5-GD \
-		convert:graphics/ImageMagick6 \
 		gifsicle:graphics/gifsicle
 
-USES=		perl5 shebangfix
+USES=		magick:6,run perl5 shebangfix
 USE_PERL5=	run
 NO_BUILD=	yes
 SHEBANG_FILES=	bin/cuttlefish.pl
diff --git a/graphics/dcraw-m/Makefile b/graphics/dcraw-m/Makefile
index 9eb5ed09fe44..216d9da706fe 100644
--- a/graphics/dcraw-m/Makefile
+++ b/graphics/dcraw-m/Makefile
@@ -11,14 +11,13 @@ COMMENT=	Modified Decoder for RAW files from digital cameras
 LICENSE=	GPLv2
 
 LIB_DEPENDS=	libjasper.so:graphics/jasper \
-		liblcms2.so:graphics/lcms2 \
-		libMagickWand-6.so:graphics/ImageMagick6
+		liblcms2.so:graphics/lcms2
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	waitman
 GH_TAGNAME=	1392579
 
-USES=		jpeg pkgconfig
+USES=		jpeg magick:6 pkgconfig
 
 CFLAGS+=	-Wall -I${LOCALBASE}/include \
 		`MagickWand-config --cflags --cppflags` \
diff --git a/graphics/digikam/Makefile b/graphics/digikam/Makefile
index 26f63a21d1b9..ecc365909cf4 100644
--- a/graphics/digikam/Makefile
+++ b/graphics/digikam/Makefile
@@ -17,7 +17,6 @@ LIB_DEPENDS=	libKF5Sane.so:graphics/libksane \
 		libboost_graph.so:devel/boost-libs \
 		libexiv2.so:graphics/exiv2 \
 		libexpat.so:textproc/expat2 \
-		libMagickCore-6.so:graphics/ImageMagick6 \
 		libgphoto2.so:graphics/libgphoto2 \
 		libicalss.so:devel/libical \
 		libjasper.so:graphics/jasper \
@@ -31,7 +30,7 @@ LIB_DEPENDS=	libKF5Sane.so:graphics/libksane \
 		libx265.so:multimedia/x265
 
 USES=		bison cmake compiler:c++11-lib desktop-file-utils eigen:3 gl \
-		gnome jpeg kde:5 pkgconfig qt:5 shebangfix tar:xz xorg
+		gnome jpeg kde:5 magick:6 pkgconfig qt:5 shebangfix tar:xz xorg
 USE_GL=		gl glu
 USE_GNOME=	glib20 libxml2 libxslt
 USE_KDE=	archive auth bookmarks calendarcore codecs completion config \
diff --git a/graphics/dmtx-utils/Makefile b/graphics/dmtx-utils/Makefile
index e5d410d0e4d0..e112c1cc602e 100644
--- a/graphics/dmtx-utils/Makefile
+++ b/graphics/dmtx-utils/Makefile
@@ -11,10 +11,9 @@ COMMENT=	Software for reading and writing Data Matrix barcodes
 
 LICENSE=	LGPL21+
 
-LIB_DEPENDS=	libdmtx.so:graphics/libdmtx \
-		libMagickWand-${IMAGEMAGICK_DEFAULT}.so:graphics/ImageMagick${IMAGEMAGICK_DEFAULT}
+LIB_DEPENDS=	libdmtx.so:graphics/libdmtx
 
-USES=		autoreconf libtool localbase tar:bzip2 pkgconfig
+USES=		autoreconf libtool localbase magick tar:bzip2 pkgconfig
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	dmtx
diff --git a/graphics/fpc-imagemagick/Makefile b/graphics/fpc-imagemagick/Makefile
index 2e0ea1b537b1..cbb9349ca7bc 100644
--- a/graphics/fpc-imagemagick/Makefile
+++ b/graphics/fpc-imagemagick/Makefile
@@ -13,6 +13,6 @@ OPTIONS_DEFINE=	IMAGEMAGICK
 IMAGEMAGICK_DESC=	Install ImageMagick image proccesing tool
 OPTIONS_DEFAULT=	IMAGEMAGICK
 
-IMAGEMAGICK_LIB_DEPENDS=	libMagick++-6.so:graphics/ImageMagick6
+IMAGEMAGICK_USES=	magick:6
 
 .include "${MASTERDIR}/Makefile"
diff --git a/graphics/freetype-gl/Makefile b/graphics/freetype-gl/Makefile
index edee62f51539..26c711dd059e 100644
--- a/graphics/freetype-gl/Makefile
+++ b/graphics/freetype-gl/Makefile
@@ -14,9 +14,8 @@ LICENSE=	BSD2CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 LIB_DEPENDS=	libfreetype.so:print/freetype2
-TEST_DEPENDS=	ImageMagick${IMAGEMAGICK_DEFAULT}-nox11>0:graphics/ImageMagick${IMAGEMAGICK_DEFAULT}-nox11
 
-USES=		cmake:noninja gl
+USES=		cmake:noninja gl magick:test,nox11
 USE_GL=		glew
 USE_LDCONFIG=	yes
 
diff --git a/graphics/gimp-gmic-plugin/Makefile b/graphics/gimp-gmic-plugin/Makefile
index fdc85bb1dbfc..1bcfc3d48eda 100644
--- a/graphics/gimp-gmic-plugin/Makefile
+++ b/graphics/gimp-gmic-plugin/Makefile
@@ -15,7 +15,6 @@ BROKEN=		OpenCV4 no longer ships OpencCV-1.0 headers
 LIB_DEPENDS=	libGraphicsMagick++.so:graphics/GraphicsMagick \
 		libOpenEXR.so:graphics/openexr \
 		libopencv_video.so:graphics/opencv \
-		libMagick++-6.so:graphics/ImageMagick6 \
 		libavcodec.so:multimedia/ffmpeg \
 		libfftw3.so:math/fftw3 \
 		libgimp-2.0.so:graphics/gimp-app \
@@ -27,7 +26,7 @@ BASH_RUN_DEPENDS=	bash:shells/bash
 
 WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}/src
 
-USES=		dos2unix gmake gnome localbase pkgconfig xorg
+USES=		dos2unix gmake gnome localbase magick:6 pkgconfig xorg
 USE_GCC=	yes
 USE_GNOME=	gtk20
 USE_XORG=	x11 xext xrandr
diff --git a/graphics/gscan2pdf/Makefile b/graphics/gscan2pdf/Makefile
index b8988f7cbc64..4cb686ca6c48 100644
--- a/graphics/gscan2pdf/Makefile
+++ b/graphics/gscan2pdf/Makefile
@@ -15,7 +15,6 @@ BUILD_DEPENDS=	p5-Config-General>=2.40:devel/p5-Config-General \
 		p5-Locale-gettext>=1.05:devel/p5-Locale-gettext \
 		p5-Log-Log4perl>0:devel/p5-Log-Log4perl \
 		p5-Readonly>0:devel/p5-Readonly \
-		ImageMagick6>0:graphics/ImageMagick6 \
 		p5-Image-Sane>=0.14:graphics/p5-Image-Sane \
 		p5-Set-IntSpan>=1.10:math/p5-Set-IntSpan \
 		p5-List-MoreUtils>0:lang/p5-List-MoreUtils \
@@ -31,7 +30,6 @@ RUN_DEPENDS:=	p5-Proc-ProcessTable>0:devel/p5-Proc-ProcessTable \
 		cjb2:graphics/djvulibre \
 		scanimage:graphics/sane-backends \
 		unpaper:graphics/unpaper \
-		ImageMagick6>0:graphics/ImageMagick6 \
 		p5-HTML-Parser>0:www/p5-HTML-Parser \
 		p5-Filesys-Df>0.92:sysutils/p5-Filesys-Df \
 		p5-Data-UUID>=1.220:devel/p5-Data-UUID \
@@ -57,7 +55,7 @@ RUN_DEPENDS:=	p5-Proc-ProcessTable>0:devel/p5-Proc-ProcessTable \
 
 NO_ARCH=	yes
 
-USES=		desktop-file-utils gettext gmake gnome perl5 tar:xz
+USES=		desktop-file-utils gettext gmake gnome magick:6,build,run perl5 tar:xz
 USE_GNOME=	gtk30 librsvg2
 USE_PERL5=	configure
 
diff --git a/graphics/hdr_tools/Makefile b/graphics/hdr_tools/Makefile
index 9c184e681ee2..3696c59d9b11 100644
--- a/graphics/hdr_tools/Makefile
+++ b/graphics/hdr_tools/Makefile
@@ -16,9 +16,8 @@ LICENSE=	GPLv3
 LIB_DEPENDS=	libpopt.so:devel/popt \
 		libtiff.so:graphics/tiff \
 		libOpenEXR.so:graphics/openexr \
-		libMagick++-6.so:graphics/ImageMagick6
 
-USES=		compiler:c++11-lang gmake pkgconfig tar:tgz
+USES=		compiler:c++11-lang gmake magick:6 pkgconfig tar:tgz
 NO_WRKSUBDIR=	yes
 
 PROGRAMS=	hdr_adjust hdr_convert hdr_create hdr_denoise hdr_fix_ca \
diff --git a/graphics/imageindex/Makefile b/graphics/imageindex/Makefile
index 9eaaa8ffc532..195fb53c5f6f 100644
--- a/graphics/imageindex/Makefile
+++ b/graphics/imageindex/Makefile
@@ -10,11 +10,10 @@ MASTER_SITES=	http://www.edwinh.org/imageindex/release/ \
*** 1745 LINES SKIPPED ***