# Handle dependency on ImageMagick # # Feature: magick # Usage: USES=magick:ARGS # Valid ARGS: [version],[flavor],[kinds] # # version The chooseable versions are , 6 and 7. # USES=magick -- depend on version from DEFAULT_VERSIONS # USES=magick:6 -- depend on ImageMagick6 # USES=magick:7 -- depend on ImageMagick7 # # flavor The flavors are , x11 and nox11 # USES=magick -- depend on flavor from DEFAULT_VERSIONS # USES=magick:x11 -- depend on the x11 flavor # USES=magick:nox11 -- depend on the nox11 flavor # # kinds The dependency kinds are , 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=magick:build,run -- add a BUILD_- and RUN_DEPENDS # # In short, on a default ports tree without custom DEFAULT_VERSIONS # USES=magick # is equivalent to # USES=magick:7,x11,lib # # Make sure to only add arguments strictly needed, as [version] and [flavor] # will override user configuration in DEFAULT_VERSIONS. # # 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:C/-.*//} . endif . if !${_magick_versions:M${_magick_version}} IGNORE= Invalid version of ImageMagick: "${_magick_version}" . endif #=== Flavor selection === _magick_flavors= x11 nox11 _magick_flavor= # _magick_portflavor= # _magick_pkgflavor= # . 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 # Fallback to the default flavor . if empty(_magick_flavor) && ${IMAGEMAGICK_DEFAULT:M*-*} _magick_flavor= ${IMAGEMAGICK_DEFAULT:C/.*-//} . endif . if !empty(_magick_flavor) . if !${_magick_flavors:M${_magick_flavor}} IGNORE= Invalid flavor of ImageMagick: "${_magick_flavor}" . else _magick_portflavor= @${_magick_flavor} . if ${_magick_flavor:Mnox11} _magick_pkgflavor= -nox11 . endif . endif . endif #=== Dependency 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 #=== Check for invalid arguments === _magick_unknown_args:= ${magick_ARGS:N${_magick_version}:N${_magick_flavor}} . for _depend in ${_magick_depend} _magick_unknown_args:= ${_magick_unknown_args:N${_depend}} . endfor . if !empty(_magick_unknown_args) IGNORE= Invalid USES=magick - unsupported argument(s): ${_magick_unknown_args} . endif #=== Dependency setup === _MAGICK_PORT= graphics/ImageMagick${_magick_version}${_magick_portflavor} _MAGICK_LIB= libMagick++-${_magick_version}.so _MAGICK_PKG= ImageMagick${_magick_version}${_magick_pkgflavor} _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