Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F175195201
D39424.id120397.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
14 KB
Referenced Files
None
Subscribers
None
D39424.id120397.diff
View Options
Index: CHANGES
===================================================================
--- CHANGES
+++ CHANGES
@@ -10,6 +10,21 @@
All ports committers are allowed to commit to this file.
+20230417:
+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
Index: MOVED
===================================================================
--- MOVED
+++ MOVED
@@ -17909,3 +17909,5 @@
www/rubygem-erubi19|www/rubygem-erubi|2023-04-09|Remove obsoleted port. Use www/rubygem-erubi instead
multimedia/mythtv-frontend|multimedia/mythtv|2023-04-10|Frontend is no part of multimedia/mythtv
lang/ruby27|lang/ruby30|2023-04-13|Please migrate to newer versions. Ruby 2.7 will reach its EoL on April 12, 2023
+graphics/ImageMagick7-nox11|graphics/ImageMagick7|2023-04-17|Flavorized
+graphics/ImageMagick6-nox11|graphics/ImageMagick6|2023-04-17|Flavorized
Index: Mk/Uses/magick.mk
===================================================================
--- Mk/Uses/magick.mk
+++ Mk/Uses/magick.mk
@@ -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 the default version (default)
# USES=magick:6 -- depend on ImageMagick6
# USES=magick:7 -- depend on ImageMagick7
#
-# flavor The flavors are <none> and nox11
+# flavor The flavors are <none>, x11 and nox11
# USES=magick -- depend on the default flavor (default)
+# 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 @@
. 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= 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}
Index: Mk/bsd.default-versions.mk
===================================================================
--- Mk/bsd.default-versions.mk
+++ Mk/bsd.default-versions.mk
@@ -59,7 +59,10 @@
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
+# Format: version[-flavor]
+# Examples: 6-nox11, 7
IMAGEMAGICK_DEFAULT?= 7
# Possible values: 7, 8, 11, 17, 18
JAVA_DEFAULT?= 8
Index: graphics/ImageMagick6-nox11/Makefile
===================================================================
--- graphics/ImageMagick6-nox11/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# the SVG and PANGO plugins need X11
-OPTIONS_EXCLUDE= X11 SVG PANGO
-PORTSCOUT= ignore:1
-# workaround until bsd.port.mk code can grok the disabling of the X11 option
-WITHOUT_X11=yes
-
-MASTERDIR= ${.CURDIR}/../ImageMagick6
-
-.include "${MASTERDIR}/Makefile"
Index: graphics/ImageMagick6/Makefile
===================================================================
--- graphics/ImageMagick6/Makefile
+++ graphics/ImageMagick6/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 6.9.12-77
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
@@ -19,11 +19,16 @@
LIB_DEPENDS= libltdl.so:devel/libltdl
-TESTS_DEPENDS= gsfonts>=0:print/gsfonts
+FLAVORS= x11 nox11
+FLAVOR?= ${FLAVORS:[1]}
+FLAVORS_SUB= yes
+nox11_PKGNAMESUFFIX= 6-nox11
PORTSCOUT?= limit:^6\.9\.
-CONFLICTS_INSTALL= ImageMagick7 ImageMagick7-nox11 # bin/Magick++-config
+# bin/Magick++-config
+CONFLICTS_INSTALL= ImageMagick6 ImageMagick6-nox11 \
+ ImageMagick7 ImageMagick7-nox11
# This port uses .la files, keep libtool:keepla! (magick/module.c)
USES= compiler:c++11-lang cpe gettext-runtime gmake gnome \
@@ -50,11 +55,22 @@
OPTIONS_SUB= yes
OPTIONS_DEFINE= BZIP2 DOCS DJVU FFMPEG FFTW FONTCONFIG FPX FREETYPE \
GRAPHVIZ GSLIB HEIF JPEG2000 JBIG JPEG LCMS2 LZMA LQR MODULES \
- OPENEXR OPENMP PANGO PDF PERL PNG RAQM SVG TESTS TIFF WEBP WMF \
- THREADS X11 16BIT_PIXEL HDRI RAW
+ OPENEXR OPENMP PDF PERL PNG TESTS TIFF WEBP WMF THREADS \
+ 16BIT_PIXEL HDRI RAW
OPTIONS_DEFAULT= 16BIT_PIXEL BZIP2 FFTW FONTCONFIG FREETYPE HEIF \
- JPEG2000 JBIG JPEG LCMS2 LZMA LQR MODULES PDF PERL PNG RAQM SVG \
- TIFF WEBP WMF THREADS X11 RAW
+ JPEG2000 JBIG JPEG LCMS2 LZMA LQR MODULES PDF PERL PNG \
+ TIFF WEBP WMF THREADS RAW
+
+.if ${FLAVOR:U} == x11
+# the SVG and PANGO plugins need X11
+OPTIONS_DEFINE+= PANGO RAQM SVG
+OPTIONS_DEFAULT+= RAQM SVG
+CONFIGURE_ARGS+= --with-x
+USES+= xorg
+USE_XORG= ice sm x11 xext xt
+.else
+CONFIGURE_ARGS+= --without-x
+.endif
DJVU_DESC= DJVU format support (needs THREADS)
GSLIB_DESC= libgs (Postscript SHLIB) support
@@ -129,7 +145,6 @@
PANGO_CONFIGURE_WITH= pango
PANGO_USE= gnome=pango
-PANGO_IMPLIES= X11
PNG_CONFIGURE_WITH= png
PNG_LIB_DEPENDS= libpng.so:graphics/png
@@ -148,7 +163,8 @@
SVG_DESC= SVG vector image format support (via librsvg, implies the x11 option)
SVG_CONFIGURE_WITH= rsvg
SVG_USE= gnome=cairo,gdkpixbuf2,librsvg2
-SVG_IMPLIES= X11
+
+TESTS_TEST_DEPENDS= gsfonts>=0:print/gsfonts
TIFF_CONFIGURE_WITH= tiff
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
@@ -156,13 +172,6 @@
WEBP_CONFIGURE_WITH= webp
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
-X11_CONFIGURE_WITH= x
-X11_USES= xorg
-X11_USE= xorg=ice,sm,x11,xext,xt
-X11_VARS= CONFLICTS_INSTALL+="ImageMagick6-nox11"
-X11_VARS_OFF= CONFLICTS_INSTALL+="ImageMagick6" \
- PKGNAMESUFFIX=6-nox11
-
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MTHREADS}
@@ -256,7 +265,7 @@
.if ${PORT_OPTIONS:MGSLIB}
CONFIGURE_ARGS+= --with-gslib
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
USES+= ghostscript:x11
. else
USES+= ghostscript
@@ -267,7 +276,7 @@
# WMF (Windows Meta File) images
.if ${PORT_OPTIONS:MWMF}
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
LIB_DEPENDS+= libwmf.so:graphics/libwmf
. else
LIB_DEPENDS+= libwmf.so:graphics/libwmf-nox11
@@ -281,7 +290,7 @@
# PDF (Adobe Portable Document Format) support
.if ${PORT_OPTIONS:MPDF}
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
USES+= ghostscript:x11
. else
USES+= ghostscript
@@ -299,7 +308,7 @@
.endif
.if ${PORT_OPTIONS:MTESTS}
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
USES+= ghostscript:x11,build
. else
USES+= ghostscript:build
@@ -332,10 +341,6 @@
@${ECHO_CMD} '###################################################################'
.endif
-.if ${PORT_OPTIONS:MSVG} && ! ${PORT_OPTIONS:MX11}
- @${ECHO_CMD} NOTICE: SVG format support disabled, requires X11
-.endif
-
post-install:
.for i in ${SAMPLE_FILES}
@${MV} ${STAGEDIR}${PREFIX}/etc/ImageMagick-6/${i} \
Index: graphics/ImageMagick7-nox11/Makefile
===================================================================
--- graphics/ImageMagick7-nox11/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# the SVG and PANGO plugins need X11
-OPTIONS_EXCLUDE= X11 SVG PANGO RAQM
-PORTSCOUT= ignore:1
-# workaround until bsd.port.mk code can grok the disabling of the X11 option
-WITHOUT_X11=yes
-
-MASTERDIR= ${.CURDIR}/../ImageMagick7
-
-.include "${MASTERDIR}/Makefile"
Index: graphics/ImageMagick7/Makefile
===================================================================
--- graphics/ImageMagick7/Makefile
+++ graphics/ImageMagick7/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ImageMagick
DISTVERSION= 7.1.0-62
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics perl5
MASTER_SITES= https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/releases/ \
https://mirror.dogado.de/imagemagick/releases/ \
@@ -19,10 +19,14 @@
LIB_DEPENDS= libltdl.so:devel/libltdl \
libzip.so:archivers/libzip
-TESTS_DEPENDS= gsfonts>=0:print/gsfonts
+FLAVORS= x11 nox11
+FLAVOR?= ${FLAVORS:[1]}
+FLAVORS_SUB= yes
+nox11_PKGNAMESUFFIX= 7-nox11
# bin/Magick++-config
-CONFLICTS_INSTALL= ImageMagick6 ImageMagick6-nox11
+CONFLICTS_INSTALL= ImageMagick6 ImageMagick6-nox11 \
+ ImageMagick7 ImageMagick7-nox11
# This port uses .la files, keep libtool:keepla! (magick/module.c)
USES= cpe gettext-runtime gmake gnome libtool:keepla localbase \
@@ -48,11 +52,22 @@
OPTIONS_SUB= yes
OPTIONS_DEFINE= BZIP2 DOCS DJVU FFMPEG FFTW FONTCONFIG FPX FREETYPE \
GRAPHVIZ GSLIB JPEG2000 JBIG JPEG JXL LCMS2 LZMA LQR MODULES \
- OPENEXR OPENMP PANGO PDF PERL PNG RAQM SVG TESTS TIFF WEBP WMF \
- THREADS X11 16BIT_PIXEL HDRI HEIF RAW
+ OPENEXR OPENMP PDF PERL PNG TESTS TIFF WEBP WMF THREADS \
+ 16BIT_PIXEL HDRI HEIF RAW
OPTIONS_DEFAULT= 16BIT_PIXEL BZIP2 FFTW FONTCONFIG FREETYPE HEIF \
- JPEG2000 JBIG JPEG JXL LCMS2 LZMA LQR MODULES OPENEXR PDF PERL PNG RAQM SVG \
- TIFF WEBP WMF THREADS X11 HDRI RAW
+ JPEG2000 JBIG JPEG JXL LCMS2 LZMA LQR MODULES OPENEXR PDF PERL PNG \
+ TIFF WEBP WMF THREADS HDRI RAW
+
+.if ${FLAVOR:U} == x11
+# the SVG and PANGO plugins need X11
+OPTIONS_DEFINE+= PANGO RAQM SVG
+OPTIONS_DEFAULT+= RAQM SVG
+CONFIGURE_ARGS+= --with-x
+USES+= xorg
+USE_XORG= ice sm x11 xext xt
+.else
+CONFIGURE_ARGS+= --without-x
+.endif
DJVU_DESC= DJVU format support (needs THREADS)
GSLIB_DESC= libgs (Postscript SHLIB) support
@@ -129,7 +144,6 @@
PANGO_CONFIGURE_WITH= pango
PANGO_USE= gnome=pango
-PANGO_IMPLIES= X11
PNG_CONFIGURE_WITH= png
PNG_LIB_DEPENDS= libpng.so:graphics/png
@@ -148,7 +162,8 @@
SVG_DESC= SVG vector image format support (via librsvg, implies the x11 option)
SVG_CONFIGURE_WITH= rsvg
SVG_USE= gnome=cairo,gdkpixbuf2,librsvg2
-SVG_IMPLIES= X11
+
+TESTS_TEST_DEPENDS= gsfonts>=0:print/gsfonts
TIFF_CONFIGURE_WITH= tiff
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
@@ -156,13 +171,6 @@
WEBP_CONFIGURE_WITH= webp
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
-X11_CONFIGURE_WITH= x
-X11_USES= xorg
-X11_USE= xorg=ice,sm,x11,xext,xt
-X11_VARS= CONFLICTS_INSTALL+="ImageMagick7-nox11"
-X11_VARS_OFF= CONFLICTS_INSTALL+="ImageMagick7" \
- PKGNAMESUFFIX=7-nox11
-
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MTHREADS}
@@ -250,7 +258,7 @@
.if ${PORT_OPTIONS:MGSLIB}
CONFIGURE_ARGS+= --with-gslib
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
USES+= ghostscript:x11
. else
USES+= ghostscript
@@ -261,7 +269,7 @@
# WMF (Windows Meta File) images
.if ${PORT_OPTIONS:MWMF}
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
LIB_DEPENDS+= libwmf.so:graphics/libwmf
. else
LIB_DEPENDS+= libwmf.so:graphics/libwmf-nox11
@@ -275,7 +283,7 @@
# PDF (Adobe Portable Document Format) support
.if ${PORT_OPTIONS:MPDF}
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
USES+= ghostscript:x11
. else
USES+= ghostscript
@@ -298,7 +306,7 @@
.endif
.if ${PORT_OPTIONS:MTESTS}
-. if ${PORT_OPTIONS:MX11}
+. if ${FLAVOR:U} == x11
USES+= ghostscript:x11,build
. else
USES+= ghostscript:build
@@ -329,10 +337,6 @@
@${ECHO_CMD} '###################################################################'
.endif
-.if ${PORT_OPTIONS:MSVG} && ! ${PORT_OPTIONS:MX11}
- @${ECHO_CMD} NOTICE: SVG format support disabled, requires X11
-.endif
-
post-install:
.for i in ${SAMPLE_FILES}
@${MV} ${STAGEDIR}${PREFIX}/etc/ImageMagick-7/${i} \
Index: graphics/Makefile
===================================================================
--- graphics/Makefile
+++ graphics/Makefile
@@ -6,9 +6,7 @@
SUBDIR += Hermes
SUBDIR += IPA
SUBDIR += ImageMagick6
- SUBDIR += ImageMagick6-nox11
SUBDIR += ImageMagick7
- SUBDIR += ImageMagick7-nox11
SUBDIR += O2-tools
SUBDIR += R-cran-DiagrammeR
SUBDIR += R-cran-GDD
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 10, 12:36 AM (10 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40514389
Default Alt Text
D39424.id120397.diff (14 KB)
Attached To
Mode
D39424: Mk/Uses/magick.mk: Fix DEFAULT_VERSION handling
Attached
Detach File
Event Timeline
Log In to Comment