Index: head/Mk/bsd.options.mk =================================================================== --- head/Mk/bsd.options.mk (revision 493900) +++ head/Mk/bsd.options.mk (revision 493901) @@ -1,608 +1,627 @@ # $FreeBSD$ # # These variables are used in port makefiles to define the options for a port. # # OPTIONS_DEFINE - List of options this ports accept # OPTIONS_DEFINE_${ARCH} - List of options this ports accept and are # specific to ${ARCH} # OPTIONS_DEFAULT - List of options activated by default # OPTIONS_DEFAULT_${ARCH} - List of options activated by default for a # given arch # # ${OPTION}_DESC - Description of the ${OPTION} # # OPTIONS_SINGLE - List of single-choice grouped options: 1 and # only 1 among N # OPTIONS_RADIO - List of radio-choice grouped options: 0 or 1 # among N # OPTIONS_MULTI - List of multiple-choice grouped options: at # least 1 among N # OPTIONS_GROUP - List of group-choice grouped options: 0 or # more among N # # OPTIONS_SINGLE_${NAME} - List of OPTIONS grouped as single choice (for # the single named as ${NAME} as defined in # OPTIONS_SINGLE) # OPTIONS_RADIO_${NAME} - List of OPTIONS grouped as radio choice (for # the radio named as ${NAME} as defined in # OPTIONS_RADIO) # OPTIONS_MULTI_${NAME} - List of OPTIONS grouped as multiple-choice # (for the multi named as ${NAME} as defined in # OPTIONS_MULTI) # OPTIONS_GROUP_${NAME} - List of OPTIONS grouped as group-choice (for # the group named as ${NAME} as defined in # OPTIONS_GROUP) # # OPTIONS_EXCLUDE - List of options unsupported (useful for slave ports) # OPTIONS_EXCLUDE_${ARCH} - List of options unsupported on a given ${ARCH} # OPTIONS_EXCLUDE_${OPSYS} - List of options unsupported on a given ${OPSYS} # OPTIONS_EXCLUDE_${OPSYS}_${OSREL:R} - List of options unsupported on a given # ${OPSYS} and major version (8/9/10...) # OPTIONS_SLAVE - This is designed for slave ports, it removes an # option from the options list inherited from the # master port and it always adds it to PORT_OPTIONS # meaning activated # # These variables can be used in make.conf to configure options. They are # processed in the order listed below, i.e. later variables override the effects # of previous variables. Options saved using the options dialog are processed # right before OPTIONS_SET_FORCE. When building a port a dialog to configure # options will only appear if there are new options, i.e. options which have not # been configured before either using the option dialog in a previous build or # using the variables below. You can force the dialog to appear by running # "make config". # # OPTIONS_SET - List of options to enable for all ports. # OPTIONS_UNSET - List of options to disable for all ports. # ${OPTIONS_NAME}_SET - List of options to enable for a specific port. # ${OPTIONS_NAME}_UNSET - List of options to disable for a specific port. # # OPTIONS_SET_FORCE - List of options to enable for all ports. # OPTIONS_UNSET_FORCE - List of options to disable for all ports. # ${OPTIONS_NAME}_SET_FORCE - List of options to enable for a specific port. # ${OPTIONS_NAME}_UNSET_FORCE # - List of options to disable for a specific port. # # These variables can be used on the command line. They override the effects of # the make.conf variables above. # # WITH - Set options from the command line # WITHOUT - Unset options from the command line # # # These variables are strictly informational (read-only). They indicate the # current state of the selected options; they are space-delimited lists. # # SELECTED_OPTIONS - list of options set "on" # DESELECTED_OPTIONS - list of options set "off" # # # The following knobs are there to simplify the handling of OPTIONS in simple # cases : # # OPTIONS_SUB When defined it will add to PLIST_SUB: # Option enabled ${opt}="" # Option disabled ${opt}="@comment " # # ${opt}_CONFIGURE_ON When option is enabled, it will add its content to # the CONFIGURE_ARGS. # ${opt}_CONFIGURE_OFF When option is disabled, it will add its content to # the CONFIGURE_ARGS. # ${opt}_CONFIGURE_ENABLE Will add to CONFIGURE_ARGS: # Option enabled --enable-${content} # Option disabled --disable-${content} # ${opt}_CONFIGURE_WITH Will add to CONFIGURE_ARGS: # Option enabled --with-${content} # Option disabled --without-${content} # # ${opt}_CMAKE_ON When option is enabled, it will add its content to # the CMAKE_ARGS. # ${opt}_CMAKE_OFF When option is disabled, it will add its content to # the CMAKE_ARGS. # # ${opt}_CMAKE_BOOL Will add to CMAKE_ARGS: # Option enabled -D${content}:BOOL=true # Option disabled -D${content}:BOOL=false # ${opt}_CMAKE_BOOL_OFF Will add to CMAKE_ARGS: # Option enabled -D${content}:BOOL=false # Option disabled -D${content}:BOOL=true # # ${opt}_QMAKE_ON When option is enabled, it will add its content to # the QMAKE_ARGS. # ${opt}_QMAKE_OFF When option is disabled, it will add its content to # the QMAKE_ARGS. # # ${opt}_MESON_ON When option is enabled, it will add its # content to MESON_ARGS. # ${opt}_MESON_OFF When option is disabled, it will add its # content to MESON_ARGS. # # ${opt}_MESON_TRUE Will add to MESON_ARGS: # Option enabled -D${content}=true # Option disabled -D${content}=false # ${opt}_MESON_FALSE Will add to MESON_ARGS: # Option enabled -D${content}=false # Option disabled -D${content}=true # # ${opt}_MESON_YES Will add to MESON_ARGS: # Option enabled -D${content}=yes # Option disabled -D${content}=no # ${opt}_MESON_NO Will add to MESON_ARGS: # Option enabled -D${content}=no # Option disabled -D${content}=yes # +# ${opt}_MESON_ENABLED Will add to MESON_ARGS: +# Option enabled -D${content}=enabled +# Option disabled -D${content}=disabled +# ${opt}_MESON_DISABLED Will add to MESON_ARGS: +# Option enabled -D${content}=disabled +# Option disabled -D${content}=enabled +# # ${opt}_IMPLIES When opt is enabled, options named in IMPLIES will # get enabled too. # ${opt}_PREVENTS When opt is enabled, if any options in PREVENTS are # also enabled, it will produce an error. # ${opt}_PREVENTS_MSG Provides a message explaining why the options # cannot be selected together. # # ${opt}_USE= FOO=bar When option is enabled, it will enable # USE_FOO+= bar # If you need more than one option, you can do # FOO=bar,baz and you'll get USE_FOO=bar baz # ${opt}_USE_OFF= FOO=bar When option is disabled, it will enable # USE_FOO+= bar # # ${opt}_VARS= FOO=bar When option is enabled, it will set # FOO= bar # ${opt}_VARS= FOO+=bar When option is enabled, it will append # FOO+= bar # ${opt}_VARS_OFF= FOO=bar When option is disabled, it will set # FOO= bar # ${opt}_VARS_OFF= FOO+=bar When option is disabled, it will append # FOO+= bar # # For each of the depends target PKG FETCH EXTRACT PATCH BUILD LIB RUN, # defining ${opt}_${deptype}_DEPENDS will add its content to the actual # dependency when the option is enabled. Defining # ${opt}_${deptype}_DEPENDS_OFF will add its content to the actual dependency # when the option is disabled. # # For each of the variables in _OPTIONS_FLAGS below, defining # ${opt}_${variable} will add its content to the actual variable when the # option is enabled. Defining ${opt}_${variable}_OFF will add its content to # the actual variable when the option is disabled. ## # Set all the options available for the ports, beginning with the # global ones and ending with the ones decided by the maintainer. .if !defined(OPTIONSMKINCLUDED) OPTIONSMKINCLUDED= bsd.options.mk OPTIONS_NAME?= ${PKGORIGIN:S/\//_/} OPTIONS_FILE?= ${PORT_DBDIR}/${OPTIONS_NAME}/options _OPTIONS_FLAGS= ALL_TARGET BROKEN CATEGORIES CFLAGS CONFIGURE_ENV CONFLICTS \ CONFLICTS_BUILD CONFLICTS_INSTALL CPPFLAGS CXXFLAGS \ DESKTOP_ENTRIES DISTFILES EXTRA_PATCHES EXTRACT_ONLY \ GH_ACCOUNT GH_PROJECT GH_SUBDIR GH_TAGNAME GH_TUPLE \ GL_ACCOUNT GL_COMMIT GL_PROJECT GL_SITE GL_SUBDIR GL_TUPLE \ IGNORE INFO INSTALL_TARGET LDFLAGS LIBS MAKE_ARGS MAKE_ENV \ MASTER_SITES PATCHFILES PATCH_SITES PLIST_DIRS PLIST_FILES \ PLIST_SUB PORTDOCS PORTEXAMPLES SUB_FILES SUB_LIST \ TEST_TARGET USES BINARY_ALIAS _OPTIONS_DEPENDS= PKG FETCH EXTRACT PATCH BUILD LIB RUN TEST # The format here is target_family:priority:target-type _OPTIONS_TARGETS= fetch:300:pre fetch:500:do fetch:700:post \ extract:300:pre extract:500:do extract:700:post \ patch:300:pre patch:500:do patch:700:post \ configure:300:pre configure:500:do configure:700:post \ build:300:pre build:500:do build:700:post \ install:300:pre install:500:do install:700:post \ test:300:pre test:500:do test:700:post \ package:300:pre package:500:do package:700:post \ stage:800:post # Add per arch options .for opt in ${OPTIONS_DEFINE_${ARCH}} .if empty(OPTIONS_DEFINE:M${opt}) OPTIONS_DEFINE+= ${opt} .endif .endfor # Add per arch defaults OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${ARCH}} _ALL_EXCLUDE= ${OPTIONS_EXCLUDE_${ARCH}} ${OPTIONS_EXCLUDE} \ ${OPTIONS_SLAVE} ${OPTIONS_EXCLUDE_${OPSYS}} \ ${OPTIONS_EXCLUDE_${OPSYS}_${OSREL:R}} .for opt in ${OPTIONS_DEFINE:O:u} . if !${_ALL_EXCLUDE:M${opt}} . for opt_implied in ${${opt}_IMPLIES} . if ${_ALL_EXCLUDE:M${opt_implied}} _ALL_EXCLUDE+= ${opt} . endif . endfor . endif .endfor # Remove options the port maintainer doesn't want, part 1 .for opt in ${_ALL_EXCLUDE:O:u} OPTIONS_DEFAULT:= ${OPTIONS_DEFAULT:N${opt}} OPTIONS_DEFINE:= ${OPTIONS_DEFINE:N${opt}} . for otype in SINGLE RADIO MULTI GROUP . for m in ${OPTIONS_${otype}} OPTIONS_${otype}_${m}:= ${OPTIONS_${otype}_${m}:N${opt}} . endfor . endfor .endfor # Remove empty SINGLE/GROUP/RADIO/MULTI # Can be empty because of exclude/slaves .for otype in SINGLE RADIO MULTI GROUP . for m in ${OPTIONS_${otype}} . if empty(OPTIONS_${otype}_${m}) OPTIONS_${otype}:= ${OPTIONS_${otype}:N${m}} . endif . endfor .endfor # Sort options ALL_OPTIONS:= ${OPTIONS_DEFINE:O:u} OPTIONS_DEFAULT:= ${OPTIONS_DEFAULT:O:u} # complete list COMPLETE_OPTIONS_LIST= ${ALL_OPTIONS} .for otype in SINGLE RADIO MULTI GROUP . for m in ${OPTIONS_${otype}} COMPLETE_OPTIONS_LIST+= ${OPTIONS_${otype}_${m}} . endfor .endfor # Some options are always enabled by default. .for _opt in DOCS NLS EXAMPLES IPV6 .if ${COMPLETE_OPTIONS_LIST:M${_opt}} PORT_OPTIONS+= ${_opt} .endif .endfor # Remove options the port maintainer doesn't want, part 2 .for opt in ${_ALL_EXCLUDE:O:u} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} .endfor ## Now create the list of activated options .if defined(OPTIONS_OVERRIDE) # Special case $OPTIONS_OVERRIDE; if it is defined forget about anything done # before NEW_OPTIONS= PORT_OPTIONS:= ${OPTIONS_OVERRIDE} .else NEW_OPTIONS= ${COMPLETE_OPTIONS_LIST} ## Set default options defined by the port maintainer PORT_OPTIONS+= ${OPTIONS_DEFAULT} ## Set system-wide defined options (set by user in make.conf) . for opt in ${OPTIONS_SET} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor ## Remove the options excluded system-wide (set by user in make.conf) . for opt in ${OPTIONS_UNSET} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor ## Set the options specified per-port (set by user in make.conf) . for opt in ${${OPTIONS_NAME}_SET} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor ## Unset the options excluded per-port (set by user in make.conf) . for opt in ${${OPTIONS_NAME}_UNSET} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor ## options files (from dialog) . if exists(${OPTIONS_FILE}) && !make(rmconfig) . include "${OPTIONS_FILE}" . endif . sinclude "${OPTIONS_FILE}.local" _OPTIONS_UNIQUENAME= ${PKGNAMEPREFIX}${PORTNAME} .for _k in SET UNSET SET_FORCE UNSET_FORCE .if defined(${_OPTIONS_UNIQUENAME}_${_k}) WARNING+= "You are using ${_OPTIONS_UNIQUENAME}_${_k} which is not supported any more, use:" WARNING+= "${OPTIONS_NAME}_${_k}= ${${_OPTIONS_UNIQUENAME}_${_k}}" .endif .endfor ## Finish by using the options set by the port config dialog, if any . for opt in ${OPTIONS_FILE_SET} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor .for opt in ${OPTIONS_FILE_UNSET} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} .endfor .endif ## FORCE ## Set system-wide defined options (set by user in make.conf) . for opt in ${OPTIONS_SET_FORCE} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor ## Remove the options excluded system-wide (set by user in make.conf) . for opt in ${OPTIONS_UNSET_FORCE} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor ## Set the options specified per-port (set by user in make.conf) . for opt in ${${OPTIONS_NAME}_SET_FORCE} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif . endfor ## Unset the options excluded per-port (set by user in make.conf) . for opt in ${${OPTIONS_NAME}_UNSET_FORCE} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endfor ## Cmdline always win over the rest .for opt in ${WITH} . if !empty(COMPLETE_OPTIONS_LIST:M${opt}) PORT_OPTIONS+= ${opt} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} . endif .endfor .for opt in ${WITHOUT} PORT_OPTIONS:= ${PORT_OPTIONS:N${opt}} NEW_OPTIONS:= ${NEW_OPTIONS:N${opt}} .endfor ## Enable options implied by other options # _PREVENTS is handled in bsd.port.mk:pre-check-config ## 1) Build dependency chain in A.B format: _DEPCHAIN= .for opt in ${COMPLETE_OPTIONS_LIST} . for o in ${${opt}_IMPLIES} _DEPCHAIN+= ${opt}.$o . endfor .endfor ## 2) Check each dependency pair and if LHS is in PORT_OPTIONS then add RHS. ## All of RHS of "RHS.*" (i.e. indirect dependency) are also added for ## fast convergence. _PORT_OPTIONS:= ${PORT_OPTIONS} .for _count in _0 ${COMPLETE_OPTIONS_LIST} count= ${_count} ### Check if all of the nested dependency are resolved already. . if ${count} == _0 || ${_PORT_OPTIONS} != ${PORT_OPTIONS} PORT_OPTIONS:= ${_PORT_OPTIONS} . for dc in ${_DEPCHAIN} . for opt in ${_PORT_OPTIONS} _opt=${opt} ### Add all of direct and indirect dependency only if ### they are not in ${PORT_OPTIONS}. . if !empty(_opt:M${dc:R}) . for d in ${dc:E} ${_DEPCHAIN:M${dc:E}.*:E} . if empty(_PORT_OPTIONS:M$d) _PORT_OPTIONS+= $d . endif . endfor . endif . endfor . endfor . endif .endfor # Finally, add options required by slave ports PORT_OPTIONS+= ${OPTIONS_SLAVE} # Sort options and eliminate duplicates PORT_OPTIONS:= ${PORT_OPTIONS:O:u} _REALLY_ALL_POSSIBLE_OPTIONS:= ${COMPLETE_OPTIONS_LIST} ${_ALL_EXCLUDE} _REALLY_ALL_POSSIBLE_OPTIONS:= ${_REALLY_ALL_POSSIBLE_OPTIONS:O:u} # Handle PORTDOCS and PORTEXAMPLES .for _type in DOCS EXAMPLES . if !empty(_REALLY_ALL_POSSIBLE_OPTIONS:M${_type}) . if empty(PORT_OPTIONS:M${_type}) PLIST_SUB+= PORT${_type}="@comment " . else PLIST_SUB+= PORT${_type}="" . endif . endif .endfor .if defined(NO_OPTIONS_SORT) ALL_OPTIONS= ${OPTIONS_DEFINE} .endif .for target in ${_OPTIONS_TARGETS:C/:.*//:u} _OPTIONS_${target}?= .endfor .for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS} # PLIST_SUB PLIST_SUB?= SUB_LIST?= . if defined(OPTIONS_SUB) . if ! ${PLIST_SUB:M${opt}=*} . if ${PORT_OPTIONS:M${opt}} PLIST_SUB:= ${PLIST_SUB} ${opt}="" NO_${opt}="@comment " . else PLIST_SUB:= ${PLIST_SUB} ${opt}="@comment " NO_${opt}="" . endif . endif . if ! ${SUB_LIST:M${opt}=*} . if ${PORT_OPTIONS:M${opt}} SUB_LIST:= ${SUB_LIST} ${opt}="" NO_${opt}="@comment " . else SUB_LIST:= ${SUB_LIST} ${opt}="@comment " NO_${opt}="" . endif . endif . endif . if ${PORT_OPTIONS:M${opt}} . if defined(${opt}_USE) . for option in ${${opt}_USE:C/=.*//:O:u} _u= ${option} USE_${_u:tu}+= ${${opt}_USE:M${option}=*:C/.*=//g:C/,/ /g} . endfor . endif . if defined(${opt}_VARS) . for var in ${${opt}_VARS:C/=.*//:O:u} _u= ${var} . if ${_u:M*+} ${_u:C/.$//:tu}+= ${${opt}_VARS:M${var}=*:C/[^+]*\+=//:C/^"(.*)"$$/\1/} . else ${_u:tu}= ${${opt}_VARS:M${var}=*:C/[^=]*=//:C/^"(.*)"$$/\1/} . endif . endfor . endif . if defined(${opt}_CONFIGURE_ENABLE) CONFIGURE_ARGS+= ${${opt}_CONFIGURE_ENABLE:S/^/--enable-/} . endif . if defined(${opt}_CONFIGURE_WITH) CONFIGURE_ARGS+= ${${opt}_CONFIGURE_WITH:S/^/--with-/} . endif . if defined(${opt}_CMAKE_BOOL) CMAKE_ARGS+= ${${opt}_CMAKE_BOOL:C/.*/-D&:BOOL=true/} . endif . if defined(${opt}_CMAKE_BOOL_OFF) CMAKE_ARGS+= ${${opt}_CMAKE_BOOL_OFF:C/.*/-D&:BOOL=false/} . endif . if defined(${opt}_MESON_TRUE) MESON_ARGS+= ${${opt}_MESON_TRUE:C/.*/-D&=true/} . endif . if defined(${opt}_MESON_FALSE) MESON_ARGS+= ${${opt}_MESON_FALSE:C/.*/-D&=false/} . endif . if defined(${opt}_MESON_YES) MESON_ARGS+= ${${opt}_MESON_YES:C/.*/-D&=yes/} . endif . if defined(${opt}_MESON_NO) MESON_ARGS+= ${${opt}_MESON_NO:C/.*/-D&=no/} . endif +. if defined(${opt}_MESON_ENABLED) +MESON_ARGS+= ${${opt}_MESON_ENABLED:C/.*/-D&=enabled/} +. endif +. if defined(${opt}_MESON_DISABLED) +MESON_ARGS+= ${${opt}_MESON_DISABLED:C/.*/-D&=disabled/} +. endif . for configure in CONFIGURE CMAKE MESON QMAKE . if defined(${opt}_${configure}_ON) ${configure}_ARGS+= ${${opt}_${configure}_ON} . endif . endfor . for flags in ${_OPTIONS_FLAGS} . if defined(${opt}_${flags}) ${flags}+= ${${opt}_${flags}} . endif . endfor . for deptype in ${_OPTIONS_DEPENDS} . if defined(${opt}_${deptype}_DEPENDS) ${deptype}_DEPENDS+= ${${opt}_${deptype}_DEPENDS} . endif . endfor . for target in ${_OPTIONS_TARGETS} _target= ${target:C/:.*//} _prio= ${target:C/.*:(.*):.*/\1/} _type= ${target:C/.*://} _OPTIONS_${_target}:= ${_OPTIONS_${_target}} ${_prio}:${_type}-${_target}-${opt}-on . endfor . else . if defined(${opt}_USE_OFF) . for option in ${${opt}_USE_OFF:C/=.*//:O:u} _u= ${option} USE_${_u:tu}+= ${${opt}_USE_OFF:M${option}=*:C/.*=//g:C/,/ /g} . endfor . endif . if defined(${opt}_VARS_OFF) . for var in ${${opt}_VARS_OFF:C/=.*//:O:u} _u= ${var} . if ${_u:M*+} ${_u:C/.$//:tu}+= ${${opt}_VARS_OFF:M${var}=*:C/[^+]*\+=//:C/^"(.*)"$$/\1/} . else ${_u:tu}= ${${opt}_VARS_OFF:M${var}=*:C/[^=]*=//:C/^"(.*)"$$/\1/} . endif . endfor . endif . if defined(${opt}_CONFIGURE_ENABLE) CONFIGURE_ARGS+= ${${opt}_CONFIGURE_ENABLE:S/^/--disable-/:C/=.*//} . endif . if defined(${opt}_CONFIGURE_WITH) CONFIGURE_ARGS+= ${${opt}_CONFIGURE_WITH:S/^/--without-/:C/=.*//} . endif . if defined(${opt}_CMAKE_BOOL) CMAKE_ARGS+= ${${opt}_CMAKE_BOOL:C/.*/-D&:BOOL=false/} . endif . if defined(${opt}_CMAKE_BOOL_OFF) CMAKE_ARGS+= ${${opt}_CMAKE_BOOL_OFF:C/.*/-D&:BOOL=true/} . endif . if defined(${opt}_MESON_TRUE) MESON_ARGS+= ${${opt}_MESON_TRUE:C/.*/-D&=false/} . endif . if defined(${opt}_MESON_FALSE) MESON_ARGS+= ${${opt}_MESON_FALSE:C/.*/-D&=true/} . endif . if defined(${opt}_MESON_YES) MESON_ARGS+= ${${opt}_MESON_YES:C/.*/-D&=no/} . endif . if defined(${opt}_MESON_NO) MESON_ARGS+= ${${opt}_MESON_NO:C/.*/-D&=yes/} +. endif +. if defined(${opt}_MESON_ENABLED) +MESON_ARGS+= ${${opt}_MESON_ENABLED:C/.*/-D&=disabled/} +. endif +. if defined(${opt}_MESON_DISABLED) +MESON_ARGS+= ${${opt}_MESON_DISABLED:C/.*/-D&=enabled/} . endif . for configure in CONFIGURE CMAKE MESON QMAKE . if defined(${opt}_${configure}_OFF) ${configure}_ARGS+= ${${opt}_${configure}_OFF} . endif . endfor . for flags in ${_OPTIONS_FLAGS} . if defined(${opt}_${flags}_OFF) ${flags}+= ${${opt}_${flags}_OFF} . endif . endfor . for deptype in ${_OPTIONS_DEPENDS} . if defined(${opt}_${deptype}_DEPENDS_OFF) ${deptype}_DEPENDS+= ${${opt}_${deptype}_DEPENDS_OFF} . endif . endfor . for target in ${_OPTIONS_TARGETS} _target= ${target:C/:.*//} _prio= ${target:C/.*:(.*):.*/\1/} _type= ${target:C/.*://} _OPTIONS_${_target}:= ${_OPTIONS_${_target}} ${_prio}:${_type}-${_target}-${opt}-off . endfor . endif .endfor .undef (SELECTED_OPTIONS) .undef (DESELECTED_OPTIONS) # Wait to expand PORT_OPTIONS until the last moment in case something modifies # the selected OPTIONS after bsd.port.options.mk is included. This uses # bmake's :@ for loop. _SELECTED_OPTIONS= ${ALL_OPTIONS:@opt@${PORT_OPTIONS:M${opt}}@} _DESELECTED_OPTIONS= ${ALL_OPTIONS:@opt@${"${PORT_OPTIONS:M${opt}}":?:${opt}}@} .for otype in MULTI GROUP SINGLE RADIO . for m in ${OPTIONS_${otype}} _SELECTED_OPTIONS+= ${OPTIONS_${otype}_${m}:@opt@${PORT_OPTIONS:M${opt}}@} _DESELECTED_OPTIONS+= ${OPTIONS_${otype}_${m}:@opt@${"${PORT_OPTIONS:M${opt}}":?:${opt}}@} . endfor .endfor SELECTED_OPTIONS= ${_SELECTED_OPTIONS:O:u} DESELECTED_OPTIONS= ${_DESELECTED_OPTIONS:O:u} .endif Index: head/audio/musicpc/Makefile =================================================================== --- head/audio/musicpc/Makefile (revision 493900) +++ head/audio/musicpc/Makefile (revision 493901) @@ -1,36 +1,34 @@ # Created by: Mark Reidel # $FreeBSD$ PORTNAME= musicpc DISTVERSION= 0.31 CATEGORIES= audio ipv6 MASTER_SITES= http://www.musicpd.org/download/mpc/0/ DISTNAME= mpc-${PORTVERSION} MAINTAINER= uzsolt@uzsolt.hu COMMENT= Command line client for the musicpd LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libmpdclient.so:audio/libmpdclient USES= meson pkgconfig tar:xz MESON_ARGS= --mandir=${MANPREFIX} OPTIONS_DEFINE= DOCS ICONV OPTIONS_DEFAULT= DOCS ICONV DOCS_USES= python:env DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR} -DOCS_MESON_ON= -Ddocumentation=enabled -DOCS_MESON_OFF= -Ddocumentation=disabled +DOCS_MESON_ENABLED= documentation ICONV_USES= iconv ICONV_LDFLAGS= -L${ICONV_PREFIX}/lib ${ICONV_LIB} -ICONV_MESON_ON= -Diconv=enabled -ICONV_MESON_OFF= -Diconv=disabled +ICONV_MESON_ENABLED= iconv PORTDOCS= AUTHORS README.rst NEWS .include Index: head/audio/musicpd/Makefile =================================================================== --- head/audio/musicpd/Makefile (revision 493900) +++ head/audio/musicpd/Makefile (revision 493901) @@ -1,256 +1,256 @@ # $FreeBSD$ PORTNAME= musicpd PORTVERSION= 0.21.5 CATEGORIES= audio ipv6 MASTER_SITES= https://www.musicpd.org/download/mpd/${PORTVERSION:R}/ DISTNAME= mpd-${PORTVERSION} MAINTAINER= riggs@FreeBSD.org COMMENT= Remote-controllable music daemon LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libboost_iostreams.so:devel/boost-libs \ libicudata.so:devel/icu USES= compiler:c++14-lang gnome meson pkgconfig tar:xz USE_GNOME= glib20 USE_RC_SUBR= ${PORTNAME} MESON_ARGS= -Dauto_features=disabled \ -Dbzip2=enabled \ -Dhttpd=true \ -Dicu=enabled \ -Doss=enabled \ -Dpipe=true \ -Dzlib=enabled CFLAGS+= -I${PREFIX}/include CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib PORTDOCS= AUTHORS README.md NEWS SUB_FILES= pkg-message OPTIONS_DEFINE= DOCS ID3TAG IPV6 ISO9660 SQLITE3 \ PROXYDB LAME VORBISENC ZZIP OPTIONS_RADIO= RESAMPLER ZEROCONF OPTIONS_RADIO_ZEROCONF= AVAHI MDNSRESPONDER OPTIONS_RADIO_RESAMPLER= SAMPLERATE SOXR OPTIONS_MULTI= FILE_FORMAT OPTIONS_MULTI_FILE_FORMAT= \ ADPLUG AUDIOFILE FAAD FFMPEG FLAC FLUIDSYNTH \ GME MAD MIKMOD MODPLUG MPG123 MUSEPACK \ OPUS SIDPLAY2 SNDFILE TWOLAME \ VORBIS WAVPACK WILDMIDI OPTIONS_GROUP= ACCESS PLAYBACK OPTIONS_GROUP_ACCESS= CDPARANOIA CURL MMS PLAYLISTS QOBUZ SMB SOUNDCLOUD TIDAL YAJL OPTIONS_GROUP_PLAYBACK= AO JACK OPENAL PULSEAUDIO \ SHOUTCAST SNDIO ADPLUG_DESC= AdPlug support FAAD_DESC= AAC/MP4 decoding via libfaad GME_DESC= GME support (video game music files) ISO9660_DESC= Direct support for ISO 9660 images PROXYDB_DESC= Proxy database support via libmpdclient LAME_DESC= Support for MP3 Icecast Streams PLAYLISTS_DESC= Enable extra playlist support (wma, RSS) QOBUZ_DESC= Streaming service support: Qobuz SIDPLAY2_DESC= Sidplay support (C64 mono and stereo files) SOUNDCLOUD_DESC=Streaming service support: SoundCloud TIDAL_DESC= Streaming service support: TIDAL TWOLAME_DESC= TwoLAME support (mp2) VORBISENC_DESC= Ogg Vorbis encoder WILDMIDI_DESC= WildMIDI support (MIDI files) YAJL_DESC= JSON support via libyajl ZZIP_DESC= Support for zzip archives OPTIONS_DEFAULT=AUDIOFILE CURL FFMPEG FLAC ID3TAG MAD PLAYLISTS SNDFILE \ VORBIS VORBISENC # Decoder plugins -ADPLUG_MESON_ON= -Dadplug=enabled +ADPLUG_MESON_ENABLED= adplug ADPLUG_LIB_DEPENDS= libadplug.so:audio/libadplug -AUDIOFILE_MESON_ON= -Daudiofile=enabled +AUDIOFILE_MESON_ENABLED=audiofile AUDIOFILE_LIB_DEPENDS= libaudiofile.so:audio/libaudiofile -FAAD_MESON_ON= -Dfaad=enabled +FAAD_MESON_ENABLED= faad FAAD_LIB_DEPENDS= libfaad.so:audio/faad -FFMPEG_MESON_ON= -Dffmpeg=enabled +FFMPEG_MESON_ENABLED= ffmpeg FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libavformat.so:multimedia/ffmpeg \ libavutil.so:multimedia/ffmpeg -FLAC_MESON_ON= -Dflac=enabled +FLAC_MESON_ENABLED= flac FLAC_LIB_DEPENDS= libFLAC.so:audio/flac -FLUIDSYNTH_MESON_ON= -Dfluidsynth=enabled +FLUIDSYNTH_MESON_ENABLED= fluidsynth FLUIDSYNTH_LIB_DEPENDS= libfluidsynth.so:audio/fluidsynth -GME_MESON_ON= -Dgme=enabled +GME_MESON_ENABLED= gme GME_LIB_DEPENDS= libgme.so:audio/libgme -MAD_MESON_ON= -Dmad=enabled +MAD_MESON_ENABLED= mad MAD_LIB_DEPENDS= libmad.so:audio/libmad -MIKMOD_MESON_ON= -Dmikmod=enabled +MIKMOD_MESON_ENABLED= mikmod MIKMOD_LIB_DEPENDS= libmikmod.so:audio/libmikmod -MODPLUG_MESON_ON= -Dmodplug=enabled +MODPLUG_MESON_ENABLED= modplug MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug -MPG123_MESON_ON= -Dmpg123=enabled +MPG123_MESON_ENABLED= mpg123 MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123 -MUSEPACK_MESON_ON= -Dmpcdec=enabled +MUSEPACK_MESON_ENABLED= mpcdec MUSEPACK_LIB_DEPENDS= libmpcdec.so:audio/musepack -OPUS_MESON_ON= -Dopus=enabled +OPUS_MESON_ENABLED= opus OPUS_LIB_DEPENDS= libopus.so:audio/opus \ libogg.so:audio/libogg -PLAYLISTS_MESON_ON= -Dexpat=enabled +PLAYLISTS_MESON_ENABLED=expat PLAYLISTS_LIB_DEPENDS= libexpat.so:textproc/expat2 -SIDPLAY2_MESON_ON= -Dsidplay=enabled +SIDPLAY2_MESON_ENABLED= sidplay SIDPLAY2_LIB_DEPENDS= libsidplay2.so:audio/libsidplay2 SIDPLAY2_LDFLAGS= -L${LOCALBASE}/lib/sidplay/builders -SNDFILE_MESON_ON= -Dsndfile=enabled +SNDFILE_MESON_ENABLED= sndfile SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile -VORBIS_MESON_ON= -Dvorbis=enabled +VORBIS_MESON_ENABLED= vorbis VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis -WAVPACK_MESON_ON= -Dwavpack=enabled +WAVPACK_MESON_ENABLED= wavpack WAVPACK_LIB_DEPENDS= libwavpack.so:audio/wavpack -WILDMIDI_MESON_ON= -Dwildmidi=enabled +WILDMIDI_MESON_ENABLED= wildmidi WILDMIDI_LIB_DEPENDS= libWildMidi.so:audio/wildmidi # Encoder plugins -VORBISENC_MESON_ON= -Dvorbisenc=enabled +VORBISENC_MESON_ENABLED= vorbisenc VORBISENC_LIB_DEPENDS= libvorbisenc.so:audio/libvorbis -LAME_MESON_ON= -Dlame=enabled +LAME_MESON_ENABLED= lame LAME_LIB_DEPENDS= libmp3lame.so:audio/lame -TWOLAME_MESON_ON= -Dtwolame=enabled +TWOLAME_MESON_ENABLED= twolame TWOLAME_LIB_DEPENDS= libtwolame.so:audio/twolame # Filter plugins -SAMPLERATE_MESON_ON= -Dlibsamplerate=enabled +SAMPLERATE_MESON_ENABLED= libsamplerate SAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate -SOXR_MESON_ON= -Dsoxr=enabled +SOXR_MESON_ENABLED= soxr SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr # Output plugins -AO_MESON_ON= -Dao=enabled +AO_MESON_ENABLED= ao AO_LIB_DEPENDS= libao.so:audio/libao -JACK_MESON_ON= -Djack=enabled +JACK_MESON_ENABLED= jack JACK_LIB_DEPENDS= libjack.so:audio/jack -OPENAL_MESON_ON= -Dopenal=enabled +OPENAL_MESON_ENABLED= openal OPENAL_USES= openal -PULSEAUDIO_MESON_ON= -Dpulse=enabled +PULSEAUDIO_MESON_ENABLED= pulse PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio -SHOUTCAST_MESON_ON= -Dshout=enabled +SHOUTCAST_MESON_ENABLED=shout SHOUTCAST_LIB_DEPENDS= libshout.so:audio/libshout SHOUTCAST_IMPLIES= VORBIS -SNDIO_MESON_ON= -Dsndio=enabled +SNDIO_MESON_ENABLED= sndio SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio # Input plugins -CDPARANOIA_MESON_ON= -Dcdio_paranoia=enabled +CDPARANOIA_MESON_ENABLED= cdio_paranoia CDPARANOIA_LIB_DEPENDS= libcdda_paranoia.so:audio/cdparanoia -CURL_MESON_ON= -Dcurl=enabled +CURL_MESON_ENABLED= curl CURL_LIB_DEPENDS= libcurl.so:ftp/curl -MMS_MESON_ON= -Dmms=enabled +MMS_MESON_ENABLED= mms MMS_LIB_DEPENDS= libmms.so:net/libmms -SMB_MESON_ON= -Dsmbclient=enabled +SMB_MESON_ENABLED= smbclient SMB_USES= samba:lib # Archive plugins -ZZIP_MESON_ON= -Dzzip=enabled +ZZIP_MESON_ENABLED= zzip ZZIP_LIB_DEPENDS= libzzip.so:devel/zziplib -ISO9660_MESON_ON= -Diso9660=enabled +ISO9660_MESON_ENABLED= iso9660 ISO9660_LIB_DEPENDS= libcdio_paranoia.so:sysutils/libcdio-paranoia # Database plugins -SQLITE3_MESON_ON= -Dsqlite=enabled +SQLITE3_MESON_ENABLED= sqlite SQLITE3_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 -PROXYDB_MESON_ON= -Dlibmpdclient=enabled +PROXYDB_MESON_ENABLED= libmpdclient PROXYDB_LIB_DEPENDS= libmpdclient.so:audio/libmpdclient # Tag plugins -ID3TAG_MESON_ON= -Did3tag=enabled +ID3TAG_MESON_ENABLED= id3tag ID3TAG_LIB_DEPENDS= libid3tag.so:audio/libid3tag # Network support -IPV6_MESON_ON= -Dipv6=enabled +IPV6_MESON_ENABLED= ipv6 # Commercial service support -QOBUZ_MESON_ON= -Dqobuz=enabled +QOBUZ_MESON_ENABLED= qobuz QOBUZ_LIB_DEPENDS= libgcrypt.so:security/libgcrypt QOBUZ_IMPLIES= CURL YAJL -SOUNDCLOUD_MESON_ON= -Dsoundcloud=enabled +SOUNDCLOUD_MESON_ENABLED= soundcloud SOUNDCLOUD_IMPLIES= CURL YAJL -TIDAL_MESON_ON= -Dtidal=enabled +TIDAL_MESON_ENABLED= tidal TIDAL_IMPLIES= CURL YAJL # Misc library suppore AVAHI_MESON_ON= -Dzeroconf=avahi AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app MDNSRESPONDER_MESON_ON= -Dzeroconf=bonjour MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder -YAJL_MESON_ON= -Dyajl=enabled +YAJL_MESON_ENABLED= yajl YAJL_LIB_DEPENDS= libyajl.so:devel/yajl MPDUSER?= mpd MPDGROUP?= mpd USERS= ${MPDUSER} GROUPS= ${MPDGROUP} .include # Note that since the build system switch to meson, mpd fails to link with # GNU ld 2.17 in base. Also, meson does not allow to set the linker via # environment variables yet. # For gcc-based platforms, gcc and ld from ports are used due to the c++14 # requirement. For clang, we set the linker explicitly in meson.build. .if ${ARCH} == armv6 #lld may use movt/movw, doesn't work on armv6 BUILD_DEPENDS+= ${LOCALBASE}/bin/ld:devel/binutils MPD_CLANG_LD= ${LOCALBASE}/bin/ld .else MPD_CLANG_LD= lld .endif post-patch: # Insert selected linker for clang @${REINPLACE_CMD} -e 's|%%MPD_CLANG_LD%%|${MPD_CLANG_LD}|' \ ${WRKSRC}/meson.build # Replace ~/ with /var/mpd/ and make musicpd run as mpd by default @${REINPLACE_CMD} -e 's,^#\([^"]*"\)~/,\1/var/mpd/,g' \ -e 's,^#\(user[^"]*"\)nobody,\1${MPDUSER},g' \ ${WRKSRC}/doc/mpdconf.example # Uncomment OSS audio output part from mpd.conf; dragons! start=$$(expr $$(${SED} -n '/^# type *"oss"/=' \ ${WRKSRC}/doc/mpdconf.example) - 1); \ finish=$$(for n in $$(${JOT} 10 $$start); do \ [ "$$(${SED} -n $${n}p ${WRKSRC}/doc/mpdconf.example)" = \ "#}" ] && ${ECHO_CMD} $$n || true; done); \ ${REINPLACE_CMD} -e "$${start},$${finish}s,^#,," \ ${WRKSRC}/doc/mpdconf.example # Fix man pages for executable names @${REINPLACE_CMD} -e 's/^\(\.B m\)pd/\1usicpd/' \ -e 's#^\(\.BI \)/etc/mpd.conf#\1${PREFIX}/etc/${PORTNAME}.conf#' \ -e 's#^mpd.conf#${PORTNAME}.conf#' \ -e 's#^mpd(1)#musicpd(1)#' \ ${WRKSRC}/doc/mpd.1 ${WRKSRC}/doc/mpd.conf.5 do-install: ${INSTALL_PROGRAM} ${WRKSRC}/_build/mpd \ ${STAGEDIR}/${PREFIX}/bin/${PORTNAME} ${INSTALL_MAN} ${WRKSRC}/doc/mpd.1 \ ${STAGEDIR}/${PREFIX}/man/man1/${PORTNAME}.1 ${INSTALL_MAN} ${WRKSRC}/doc/mpd.conf.5 \ ${STAGEDIR}/${PREFIX}/man/man5/${PORTNAME}.conf.5 ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/ ${INSTALL_DATA} ${WRKSRC}/doc/mpdconf.example \ ${STAGEDIR}/${PREFIX}/etc/${PORTNAME}.conf.sample .include Index: head/audio/ncmpc/Makefile =================================================================== --- head/audio/ncmpc/Makefile (revision 493900) +++ head/audio/ncmpc/Makefile (revision 493901) @@ -1,48 +1,47 @@ # Created by: Mark Reidel # $FreeBSD$ PORTNAME= ncmpc PORTVERSION= 0.33 PORTREVISION= 2 CATEGORIES= audio MASTER_SITES= http://www.musicpd.org/download/ncmpc/0/ MAINTAINER= laurent@nuxi.ca COMMENT= Ncurses client for the musicpd LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libboost_system.so:devel/boost-libs \ libmpdclient.so:audio/libmpdclient \ libpcre.so:devel/pcre USES= compiler:c++14-lang iconv localbase:ldflags meson ncurses \ pkgconfig tar:xz OPTIONS_DEFINE= COLORS DOCS LYRICS MANPAGES NLS OPTIONS_DEFAULT= COLORS LYRICS MANPAGES OPTIONS_SUB= yes COLORS_DESC= Compile with color support LYRICS_DESC= Compile with lyrics screen COLORS_MESON_TRUE= colors DOCS_IMPLIES= MANPAGES DOCS_MESON_TRUE= html_manual LYRICS_MESON_TRUE= lyrics_screen MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR} MANPAGES_MAKE_ENV= PYTHON=${PYTHON_CMD} \ SPHINX=sphinx-build-${PYTHON_VER} MANPAGES_MESON_TRUE= manual MANPAGES_USES= python:build NLS_LDFLAGS= -lintl -NLS_MESON_OFF= -Dnls=disabled -NLS_MESON_ON= -Dnls=enabled +NLS_MESON_ENABLED= nls NLS_USES= gettext .include Index: head/graphics/libplacebo/Makefile =================================================================== --- head/graphics/libplacebo/Makefile (revision 493900) +++ head/graphics/libplacebo/Makefile (revision 493901) @@ -1,59 +1,55 @@ # $FreeBSD$ PORTNAME= libplacebo DISTVERSIONPREFIX= v DISTVERSION= 1.7.0 PORTREVISION= 1 CATEGORIES= graphics PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 95814b653b71.patch:-p1 # don't check shaderc twice MAINTAINER= jbeich@FreeBSD.org COMMENT= Reusable library for GPU-accelerated video/image rendering LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/LICENSE USES= compiler:c11 localbase:ldflags meson pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= haasn OPTIONS_DEFINE= LCMS2 TEST VULKAN OPTIONS_DEFAULT=LCMS2 SHADERC OPTIONS_SINGLE= VULKAN OPTIONS_SINGLE_VULKAN= GLSLANG SHADERC GLSLANG_DESC= glslang SPIR-V compiler GLSLANG_BUILD_DEPENDS= glslang>0:devel/glslang -GLSLANG_MESON_ON= -Dglslang=enabled -GLSLANG_MESON_OFF= -Dglslang=disabled +GLSLANG_MESON_ENABLED= glslang GLSLANG_IMPLIES= VULKAN LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2 -LCMS2_MESON_ON= -Dlcms=enabled -LCMS2_MESON_OFF= -Dlcms=disabled +LCMS2_MESON_ENABLED= lcms SHADERC_DESC= libshaderc SPIR-V compiler SHADERC_LIB_DEPENDS= libshaderc_shared.so:graphics/shaderc -SHADERC_MESON_ON= -Dshaderc=enabled -SHADERC_MESON_OFF= -Dshaderc=disabled +SHADERC_MESON_ENABLED= shaderc SHADERC_IMPLIES= VULKAN TEST_MESON_TRUE= tests VULKAN_DESC= Vulkan-based renderer VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader -VULKAN_MESON_ON= -Dvulkan=enabled -VULKAN_MESON_OFF= -Dvulkan=disabled +VULKAN_MESON_ENABLED= vulkan post-patch: # Extract (snapshot) version from port version instead of meson.build @${REINPLACE_CMD} "s/version_pretty/'${DISTVERSIONFULL}'/" \ ${WRKSRC}/src/meson.build pre-install-TEST-on: do-test .include Index: head/x11/grim/Makefile =================================================================== --- head/x11/grim/Makefile (revision 493900) +++ head/x11/grim/Makefile (revision 493901) @@ -1,39 +1,37 @@ # $FreeBSD$ PORTNAME= grim DISTVERSIONPREFIX= v DISTVERSION= 1.1 CATEGORIES= x11 PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES= 6994df611f55.patch:-p1 MAINTAINER= jbeich@FreeBSD.org COMMENT= Grab images from a Wayland compositor LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>=1.14:graphics/wayland-protocols LIB_DEPENDS= libwayland-client.so:graphics/wayland USES= compiler:c11 gnome meson pkgconfig USE_GITHUB= yes USE_GNOME= cairo GH_ACCOUNT= emersion MESON_ARGS= -Dwerror=false # https://github.com/emersion/grim/issues/37 PLIST_FILES= bin/${PORTNAME} OPTIONS_DEFINE= JPEG MANPAGES OPTIONS_DEFAULT=JPEG MANPAGES MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc -MANPAGES_MESON_ON= -Dman-pages=enabled -MANPAGES_MESON_OFF= -Dman-pages=disabled +MANPAGES_MESON_ENABLED= man-pages MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz JPEG_USES= jpeg -JPEG_MESON_ON= -Djpeg=enabled -JPEG_MESON_OFF= -Djpeg=disabled +JPEG_MESON_ENABLED= jpeg .include Index: head/x11/slurp/Makefile =================================================================== --- head/x11/slurp/Makefile (revision 493900) +++ head/x11/slurp/Makefile (revision 493901) @@ -1,32 +1,31 @@ # $FreeBSD$ PORTNAME= slurp DISTVERSIONPREFIX= v DISTVERSION= 1.1.0 CATEGORIES= x11 MAINTAINER= jbeich@FreeBSD.org COMMENT= Select a region in a Wayland compositor LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ wayland-protocols>=1.14:graphics/wayland-protocols LIB_DEPENDS= libwayland-client.so:graphics/wayland USES= compiler:c11 gnome meson pkgconfig USE_GITHUB= yes USE_GNOME= cairo GH_ACCOUNT= emersion PLIST_FILES= bin/${PORTNAME} OPTIONS_DEFINE= MANPAGES OPTIONS_DEFAULT=MANPAGES MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc -MANPAGES_MESON_ON= -Dman-pages=enabled -MANPAGES_MESON_OFF= -Dman-pages=disabled +MANPAGES_MESON_ENABLED= man-pages MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz .include Index: head/x11/swayidle/Makefile =================================================================== --- head/x11/swayidle/Makefile (revision 493900) +++ head/x11/swayidle/Makefile (revision 493901) @@ -1,32 +1,31 @@ # $FreeBSD$ PORTNAME= swayidle DISTVERSION= 1.2 CATEGORIES= x11 MAINTAINER= jbeich@FreeBSD.org COMMENT= Idle management daemon for Wayland LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>=1.14:graphics/wayland-protocols LIB_DEPENDS= libwayland-client.so:graphics/wayland USES= compiler:c11 meson pkgconfig USE_GITHUB= yes GH_ACCOUNT= swaywm PLIST_FILES= bin/${PORTNAME} \ share/bash-completion/completions/${PORTNAME} \ share/fish/completions/${PORTNAME}.fish \ share/zsh/site-functions/_${PORTNAME} OPTIONS_DEFINE= MANPAGES OPTIONS_DEFAULT=MANPAGES MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc -MANPAGES_MESON_ON= -Dman-pages=enabled -MANPAGES_MESON_OFF= -Dman-pages=disabled +MANPAGES_MESON_ENABLED= man-pages MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz .include Index: head/x11/swaylock/Makefile =================================================================== --- head/x11/swaylock/Makefile (revision 493900) +++ head/x11/swaylock/Makefile (revision 493901) @@ -1,40 +1,38 @@ # $FreeBSD$ PORTNAME= swaylock DISTVERSION= 1.3 CATEGORIES= x11 MAINTAINER= jbeich@FreeBSD.org COMMENT= Screen locker for Wayland LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>=1.14:graphics/wayland-protocols LIB_DEPENDS= libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon USES= compiler:c11 meson pkgconfig USE_GITHUB= yes GH_ACCOUNT= swaywm USE_GNOME= cairo pango MESON_ARGS= -Dswaylock-version="${DISTVERSIONFULL}" PLIST_FILES= bin/${PORTNAME} \ etc/pam.d/${PORTNAME} \ share/bash-completion/completions/${PORTNAME} \ share/fish/completions/${PORTNAME}.fish \ share/zsh/site-functions/_${PORTNAME} OPTIONS_DEFINE= MANPAGES PIXBUF OPTIONS_DEFAULT=MANPAGES PIXBUF MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc -MANPAGES_MESON_ON= -Dman-pages=enabled -MANPAGES_MESON_OFF= -Dman-pages=disabled +MANPAGES_MESON_ENABLED= man-pages MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz PIXBUF_USE= GNOME=gdkpixbuf2 -PIXBUF_MESON_ON= -Dgdk-pixbuf=enabled -PIXBUF_MESON_OFF= -Dgdk-pixbuf=disabled +PIXBUF_MESON_ENABLED= gdk-pixbuf .include Index: head/x11-toolkits/wlroots/Makefile =================================================================== --- head/x11-toolkits/wlroots/Makefile (revision 493900) +++ head/x11-toolkits/wlroots/Makefile (revision 493901) @@ -1,50 +1,49 @@ # $FreeBSD$ PORTNAME= wlroots DISTVERSION= 0.3 CATEGORIES= x11-toolkits PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 59d1b6790dd1.patch:-p1 # version bump MAINTAINER= jbeich@FreeBSD.org COMMENT= Modular Wayland compositor library LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ wayland-protocols>=1.16:graphics/wayland-protocols LIB_DEPENDS= libudev.so:devel/libudev-devd \ libdrm.so:graphics/libdrm \ libwayland-egl.so:graphics/wayland \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon USES= compiler:c11 gl meson pkgconfig USE_GITHUB= yes USE_GL= egl gbm glesv2 USE_XORG= pixman USE_LDCONFIG= yes GH_ACCOUNT= swaywm MESON_ARGS= -Dexamples=false # https://github.com/swaywm/wlroots/issues/1450 LLD_UNSAFE= yes OPTIONS_DEFINE= X11 OPTIONS_DEFAULT=X11 OPTIONS_SUB= yes X11_LIB_DEPENDS=libxcb-errors.so:x11/xcb-util-errors \ libxcb-icccm.so:x11/xcb-util-wm X11_RUN_DEPENDS=Xwayland:x11-servers/xwayland X11_USE= XORG=x11,xcb -X11_MESON_ON= -Dx11-backend=enabled -Dxcb-icccm=enabled -Dxwayland=enabled -X11_MESON_OFF= -Dx11-backend=disabled -Dxcb-icccm=disabled -Dxwayland=disabled +X11_MESON_ENABLED=x11-backend xcb-icccm xwayland post-patch: # Ignore unused dependencies @${REINPLACE_CMD} '/examples/d' ${WRKSRC}/meson.build .include Index: head/x11-wm/sway/Makefile =================================================================== --- head/x11-wm/sway/Makefile (revision 493900) +++ head/x11-wm/sway/Makefile (revision 493901) @@ -1,62 +1,59 @@ # $FreeBSD$ PORTNAME= sway DISTVERSION= 1.0-rc3 CATEGORIES= x11-wm PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES= c968f83261d9.patch:-p1 MAINTAINER= jbeich@FreeBSD.org COMMENT= i3-compatible Wayland compositor LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ wayland-protocols>=1.14:graphics/wayland-protocols \ wlroots>=0.3:x11-toolkits/wlroots LIB_DEPENDS= libjson-c.so:devel/json-c \ libevdev.so:devel/libevdev \ libpcre.so:devel/pcre \ libwayland-egl.so:graphics/wayland \ libwlroots.so:x11-toolkits/wlroots \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon USES= compiler:c11 gnome meson pkgconfig USE_GITHUB= yes USE_GNOME= cairo pango USE_XORG= pixman GH_ACCOUNT= swaywm OPTIONS_DEFINE= MANPAGES PIXBUF SUID X11 OPTIONS_DEFAULT=MANPAGES PIXBUF SUID X11 OPTIONS_SUB= yes MANPAGES_BUILD_DEPENDS= scdoc>=1.8.1:textproc/scdoc -MANPAGES_MESON_ON= -Dman-pages=enabled -MANPAGES_MESON_OFF= -Dman-pages=disabled +MANPAGES_MESON_ENABLED= man-pages PIXBUF_USE= GNOME=gdkpixbuf2 -PIXBUF_MESON_ON= -Dgdk-pixbuf=enabled -PIXBUF_MESON_OFF= -Dgdk-pixbuf=disabled +PIXBUF_MESON_ENABLED= gdk-pixbuf SUID_DESC= setuid bit on "sway" binary (required for DRM session) SUID_PLIST_SUB= MAYBE_SUID="@(,,4755) " SUID_PLIST_SUB_OFF= MAYBE_SUID="" X11_USE= XORG=xcb -X11_MESON_ON= -Dxwayland=enabled -X11_MESON_OFF= -Dxwayland=disabled +X11_MESON_ENABLED= xwayland post-patch: # Let @sample handle default files under etc/ @${REINPLACE_CMD} -e '/config\.in/{ N; s/@BASENAME@/&.sample/; }' \ ${WRKSRC}/meson.build # Extract (snapshot) version from the port instead of meson.build @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \ -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \ ${WRKSRC}/meson.build .include