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-15|Flavorized +graphics/ImageMagick6-nox11|graphics/ImageMagick6|2023-04-15|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 , 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 and nox11 +# flavor The flavors are , 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 , 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:%=@%} _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 @@ -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 .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 @@ -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 .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