Mk/Uses/magick.mk: Fix DEFAULT_VERSION handling
Handle fallback for version and flavor separately, also add several sanity checks. This fixes creating broken *_DEPENDS for ports using it without arguments when a -nox11 version is requested in DEFAULT_VERSIONS like e.g. this resulting from "imagemagick=7-nox11": libMagick++-7-nox11.so:graphics/ImageMagick7-nox11 Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D39424
This commit is contained in:
parent
0ef660f00d
commit
be67c1c353
3 changed files with 60 additions and 18 deletions
15
CHANGES
15
CHANGES
|
@ -10,6 +10,21 @@ in the release notes and/or placed into UPDATING.
|
|||
|
||||
All ports committers are allowed to commit to this file.
|
||||
|
||||
20230430:
|
||||
AUTHOR: zirias@FreeBSD.org
|
||||
|
||||
USES=magick has been updated based on flavorized ports.
|
||||
|
||||
A new argument 'x11' is available to specifically depend on the flavor
|
||||
with X11 support. Fallback to DEFAULT_VERSIONS now happens
|
||||
independently for the version (currently 6 or 7) and the flavor
|
||||
(currently x11 or nox11).
|
||||
|
||||
Only use arguments for version or flavor if your port really requires
|
||||
it. Also, there is no need to add options for selecting the -nox11
|
||||
flavor any more, as the user setting in DEFAULT_VERSIONS will be
|
||||
honored.
|
||||
|
||||
20230111:
|
||||
AUTHOR: vishwin@FreeBSD.org
|
||||
|
||||
|
|
|
@ -2,29 +2,33 @@
|
|||
#
|
||||
# Feature: magick
|
||||
# Usage: USES=magick:ARGS
|
||||
# Valid ARGS: [version],[kinds],[flavor]
|
||||
# Valid ARGS: [version],[flavor],[kinds]
|
||||
#
|
||||
# version The chooseable versions are <none>, 6 and 7.
|
||||
# USES=magick -- depend on ${IMAGEMAGICK_DEFAULT} (default)
|
||||
# USES=magick -- depend on version from DEFAULT_VERSIONS
|
||||
# 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)
|
||||
# flavor The flavors are <none>, 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 <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
|
||||
# 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
|
||||
# In short, on a default ports tree without custom DEFAULT_VERSIONS
|
||||
# USES=magick
|
||||
# is equivalent to
|
||||
# USES=magick:7,lib
|
||||
# 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
|
||||
#
|
||||
|
@ -47,21 +51,31 @@ IGNORE= Incorrect USES=magick:${magick_ARGS} - multiple versions defined
|
|||
. endfor
|
||||
# Fallback to the default version
|
||||
. if empty(_magick_version)
|
||||
_magick_version= ${IMAGEMAGICK_DEFAULT}
|
||||
_magick_version= ${IMAGEMAGICK_DEFAULT:C/-.*//}
|
||||
. endif
|
||||
. if !${_magick_versions:M${_magick_version}}
|
||||
IGNORE= Invalid version of ImageMagick: "${_magick_version}"
|
||||
. endif
|
||||
|
||||
#=== Flavor selection ===
|
||||
_magick_flavors= nox11
|
||||
_magick_flavors= x11 nox11
|
||||
_magick_flavor= #
|
||||
. for _flavor in ${_magick_flavors:O:u}
|
||||
. if ${magick_ARGS:M${_flavor}}
|
||||
. if empty(_magick_flavor)
|
||||
_magick_flavor= -${_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) && !${_magick_flavors:M${_magick_flavor}}
|
||||
IGNORE= Invalid flavor of ImageMagick: "${_magick_flavor}"
|
||||
. endif
|
||||
|
||||
#=== Dependency selection ===
|
||||
_magick_depends= lib build run test
|
||||
|
@ -75,10 +89,19 @@ _magick_depend+= ${_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_flavor}
|
||||
_MAGICK_PORT= graphics/ImageMagick${_magick_version}${_magick_flavor:%=@%}
|
||||
_MAGICK_LIB= libMagick++-${_magick_version}.so
|
||||
_MAGICK_PKG= ImageMagick${_magick_version}${_magick_flavor}
|
||||
_MAGICK_PKG= ImageMagick${_magick_version}${_magick_flavor:Mnox11:%=-%}
|
||||
|
||||
_MAGICK_BUILD_DEPENDS= ${_MAGICK_PKG}>=${_magick_version}:${_MAGICK_PORT}
|
||||
_MAGICK_LIB_DEPENDS= ${_MAGICK_LIB}:${_MAGICK_PORT}
|
||||
|
|
|
@ -59,7 +59,11 @@ GHOSTSCRIPT_DEFAULT?= agpl
|
|||
GL_DEFAULT?= mesa-libs
|
||||
# Possible values: 1.18, 1.19, 1.20, 1.21-devel
|
||||
GO_DEFAULT?= 1.20
|
||||
# Possible values: 6, 6-nox11, 7, 7-nox11
|
||||
# Possible versions: 6, 7
|
||||
# Possible flavors: x11, nox11
|
||||
# (defaults to x11 when not specified)
|
||||
# Format: version[-flavor]
|
||||
# Examples: 6-nox11, 7
|
||||
IMAGEMAGICK_DEFAULT?= 7
|
||||
# Possible values: 7, 8, 11, 17, 18
|
||||
JAVA_DEFAULT?= 8
|
||||
|
|
Loading…
Reference in a new issue