Warning: there may be occasional oddness due to css and blog edits. **KNOWN ISSUE: possible hidden text**
Showing posts with label make. Show all posts
Showing posts with label make. Show all posts

Friday, August 9, 2024

make.conf in control

I have mentioned previously that I have a rather extensive /etc/make.conf file.  This very copiously commented file is below.  In the past I defined many of the defaults listed but now accept many of those as defined by /usr/ports/Mk/bsd.default-versions.mk because some of the most current versions are set as default.  Some other ports which may have ambiguous versions I choose to be specific or if the default is not as new as I wish, I set it.  It is a very good idea to include comments where ever possible in any configuration file because you may want to note a documentation source as the reason or to recall why something was done.

Using this extensive make.conf it should default to any options defined within, if the config is removed (make rmconfig).  Some things specifically set options, some options are defined in order to help avoid conflicts, especially when radio buttons are used.  Many documentation excerpts from /usr/ports/Mk files.  The bulk set/unset keywords assume that those keywords are consistent across disparite ports but where this is not true or other keywords are needed, those are options defined.  it would be a very good idea to periodically revisit this file to see what needs adjusting.  Check with each release and when noted in /usr/ports/updating when things change, especially defaults in /usr/ports/Mk/bsd.default-versions.mk to be sure the desired result is achieved.

### make.conf
#################################################################################################################################################
# There are a number of things you can do to reduce the size and number of files in /boot/kernel.
#
# Possibly the best space saving is to be had by setting WITHOUT_KERNEL_SYMBOLS in /etc/src.conf
# (if this file doesn't already exist, just create it), and the next time you installkernel, the
# debug symbol files won't be installed. It's safe to delete them now, if you need the space
# immediately (rm /boot/kernel/*.symbols)
#
# There are a few make.conf settings that control what modules are built:
#
#    NO_MODULES - disable building of modules completely
#    MODULES_OVERRIDE - specify the modules you want to build
#    WITHOUT_MODULES - list of modules that should not be built
#
# The NO_MODULES option is probably a bit too heavy-handed, so a judicious combination of the
# other two is a better choice. If you know exactly which modules you want, you can simply set
# them in MODULES_OVERRIDE. Note that WITHOUT_MODULES is evaluated after MODULES_OVERRIDE, so
# any module named in both lists will not be built.
#
# If you really want to suppress building of all modules, you can use NO_MODULES, and ensure
# that all required drivers and modules are statically compiled into the kernel. Each driver's
# manpage shows the appropriate lines to add to your kernel config file, so you should be able
# to figure out what you need.
#################################################################################################################################################
#_______________________________________________________________________________
#										|
# This toggle for developer helps to discover issues with ports building. It is |
# not used by poudriere, which would need testport or other options.		|
#_______________________________________________________________________________|

DEVELOPER=yes

DISABLE_VULNERABILITIES=yes
TRYBROKEN=true

#_______________________________________________________________
#								|
# USE_PACKAGE_DEPENDS=yes					|
#								|
# Try to install dependencies from existing packages instead	|
#  of building the port from scratch. Fallback on source	|
#  if an existing package is not present.			|
#								|
# USE_PACKAGE_DEPENDS_ONLY=yes					|
#								|
# Like USE_PACKAGE_DEPENDS, but do not fallback on source.	|
#_______________________________________________________________|

USE_PACKAGE_DEPENDS=yes

#_______________________________________________________
#							#
# Use ccache for builds					#
#_______________________________________________________#

WITH_CCACHE_BUILD=yes

.if ${.CURDIR:M^/usr/src/}
CCACHE_DIR=/var/cache/base/ccache
.else
CCACHE_DIR=/var/cache/ccache
.endif

#_______________________________________________________________________________
#										#
#  This is set in /usr/ports/Mk/Uses/jpeg.mk					#
#	JPEG_PORT=graphics/jpeg-turbo						#
#_______________________________________________________________________________#

#_______________________________________________________
#							#
#WITH_DEBUG_PORTS+=editors/openoffice-devel		#
#WITH_DEBUG_PORTS+=editors/openoffice-4			#
#_______________________________________________________#

#################################################################################################################################################

#  _____________________________________________________________
# /								\
# | Universal DEFAULT versions					|
# |								|
# | values defined in /usr/ports/Mk/bsd.default-versions.mk	|
# \_____________________________________________________________/


#_______________________________________________________
#							#
# No reason to set this as prefer llvm etc.		#
# DEFAULT_VERSIONS+=gcc=12				#
#_______________________________________________________#


#_______________________________________________________
#							#
# Ghostscript						#
# Possible values: 10					#
# DEFAULT_VERSIONS+=GHOSTSCRIPT=10			#
#_______________________________________________________#


#_______________________________________________________
#							#
# Possible values: mesa-libs, mesa-devel		#
# GL_DEFAULT?=            mesa-libs			#
# DEFAULT_VERSIONS+=gl=mesa-libs			#
#_______________________________________________________#


#_______________________________________________________
#							#
# Imagemagick						#
# Possible versions: 6, 7				#
# Possible flavors:  x11, nox11				#
#                    (defaults to x11 if not specified) #
# Format:            version[-flavor]			#
# Examples:          6-nox11, 7				#
#							#
# DEFAULT_VERSIONS+=IMAGEMAGICK=7			#
#_______________________________________________________#


#_______________________________________________________
#							#
# Java							#
# Possible values: 8, 11, 17, 18, 19, 20, 21		#
#_______________________________________________________#
DEFAULT_VERSIONS+=JAVA=21


#_______________________________________________________
#							#
# centos or rocky linux	both downstream rhel		#
# centos is deprecated but has 32bit?			#
# rocky is newer but 64bit only?			#
# Possible values: c7 rl9				#
#_______________________________________________________#
DEFAULT_VERSIONS+=LINUX=rl9


#_______________________________________________________
#							#
# llvm							#
# Possible values: 					#
#  11, 12, 13, 14, 15, 16, 17, -devel			#
# (to be used when non-base compiler is required)	#
# 							#
#_______________________________________________________#
DEFAULT_VERSIONS+=LLVM=17


#_______________________________________________________
#							#
# Lua							#
# Possible values: 5.1, 5.2, 5.3, 5.4			#
#							#
# DEFAULT_VERSIONS+=LUA=5.4				#
#_______________________________________________________#


#_______________________________________________________
#                                                       #
# Luajit                                                #
# Possible values:                                      #
#        luajit, luajit-devel, luajit-openresty         #
#                                                       #
# Auto sets to luajit-devel if not powerpc64*		#
#                                                       #
# DEFAULT_VERSIONS+=LUAJIT=luajit-openresty		#
#_______________________________________________________#


#_______________________________________________________
# Possible values: 3.8, 3.9, 3.10, 3.11			#
#							#
# PYTHON_DEFAULT?=        3.11				#
#							#
# Possible values: 2.7					#
# PYTHON2_DEFAULT?=       2.7				#
#							#
# DEFAULT_VERSIONS+=python=3.11				#
#_______________________________________________________#


#_______________________________________________________
#							#
# Ruby							#
# Possible values: 2.7, 3.0, 3.1, 3.2			#
#							#
# DEFAULT_VERSIONS+=RUBY=3.2				#
#_______________________________________________________#


#_______________________________________________________
#							#
# Rust 							#
# While it may make some sense to have -nightly the 	#
# default, it is build fail prone or too new.		#
# Possible values: rust, rust-nightly			#
#_______________________________________________________#
DEFAULT_VERSIONS+=RUST=rust


#_______________________________________________________________________________
#										#
# Would prefer libressl for all things but it tends to be incompatible with any	#
# random thing periodically which breaks MANY ports.				#
# libressl-devel is often too new for rust-nightly etc				#
#										#
# FYI:	security/cryptopp is just as important for many ports.			#
#	py-cryptography								#
#										#
# When updating this, please also update the same list in ssl.mk and the checks	#
# for USES=ssl in qa.sh!							#
# Possible values: base, openssl, openssl111, openssl31, openssl32, openssl33,	#
#				   libressl, libressl-devel			#
#.  if !defined(SSL_DEFAULT)							#
#       If no preference was set, check for an installed base version		#
#       but give an installed port preference over it.				#
# SSL										#
# Possible values: base, openssl, libressl, libressl-devel			#
#										#
# DEFAULT_VERSIONS+=SSL=openssl							#
#										#
# Do I have ssl in base built or denied?					#
#_______________________________________________________________________________#
DEFAULT_VERSIONS+=SSL=openssl


#_______________________________________________________
#							#
# tcl/tk						#
# Possible values: 8.5, 8.6, 8.7			#
#							#
# DEFAULT_VERSIONS+=TCLTK=8.6				#
#_______________________________________________________#
DEFAULT_VERSIONS+=TCLTK=8.7


#################################################################################################################################################

#_______________________________________________________
#							#
# Changes in general to config toggles			#
#_______________________________________________________#

OPTIONS_UNSET+=A4 ALSA APE APPLEDEV ARCHDEF ATK_BRIDGE ATLAS AVAHI AVX AVX2
OPTIONS_UNSET+=BASH BONMIN BOOTSTRAP
OPTIONS_UNSET+=CCL CHEESE CHINESE CHROMECAST CMUCL COLORD CPACK CPU_CLIP
OPTIONS_UNSET+=DBUS DEBUG DEVD DTRACE
OPTIONS_UNSET+=ECL EMACS_KEYS ENCODINGS ETERSOFT
OPTIONS_UNSET+=FAM FREERDP FRENCH
OPTIONS_UNSET+=GCRYPT GEOCLUE GEOIP GEOLOC GLX GNUTLS GNOMEUI GNOMEVFS GPERFTOOLS GPOD GPS GPSD GRAPHITE GRAPHVIZ
OPTIONS_UNSET+=HAL HALD
OPTIONS_UNSET+=IMOBILE INOTIFY INTEGER_SAMPLES IPOD IPOPT
OPTIONS_UNSET+=JACK JAPANESE
OPTIONS_UNSET+=KOREAN
OPTIONS_UNSET+=LAPACK LDAP LIBBLURAY LIBEXECINFO LIBJTE LIBSIGSEGV LIRC LOCALE_DE LOCALE_RU
OPTIONS_UNSET+=MAD MARS MDNS MDNSRESPONDER METRIC MHASH MTPFS MTPZ MUPDF
OPTIONS_UNSET+=NETTLE NLS NOTIFY NTSC NVIDIA NVIT NVTHREADS NVTT
OPTIONS_UNSET+=OPENBLAS OPENCV
OPTIONS_UNSET+=PAL PERL_64BITINT PGSQL PSGHOSTSCRIPT PSHYBRID PULSEAUDIO PURPOSE
OPTIONS_UNSET+=Q8BIT QPOASES QTWEBENGINE QT5AGGBACKEND
OPTIONS_UNSET+=RCC READLINE RUNROOT RUSSIAN RETEXTURE_FULL
OPTIONS_UNSET+=SAGE SAMBA SASL SCFB SMB SKYDRIVE SNDIO SOX SPEECHD SPEED STATIC
OPTIONS_UNSET+=TEST TOMCAT85 TOMCAT9 TPM
OPTIONS_UNSET+=UPNP
OPTIONS_UNSET+=V4L
OPTIONS_UNSET+=WEBENGINE WIIMOTEDEV WIKI_PUBLISHER
OPTIONS_UNSET+=XBACKLIGHT
OPTIONS_UNSET+=ZSH

#----------

OPTIONS_SET+=3DNOW 7ZIP
OPTIONS_SET+=A52 AALIB AAC ALLSTAGES ANY2DJVU AOM API APNG ARMOR ASM ASS AUDIO AUDIOCD
OPTIONS_SET+=BABEL BE_AMDGPU BEATPORT BE_NATIVE BOOST BROTLI BUNDLED_READLINE BZIP2
OPTIONS_SET+=CA_BUNDLE CACA CAIRO CBLAS CDDA2MP3 CDDA2OGG CDDB CERTS CLANG CLEARTYPE CLIENT COMPFACE COMPILER_RT COINMP CONFIG \
		CONTRIB CPU_OPTS CRAFTY CRYPTO CRYPTOPP CUPS CURL
OPTIONS_SET+=DCA DCRAW DESKTOPFILES DRILL DTS DUNSTIFY DVD DYNAMIC_ARCH DYNSIMD
OPTIONS_SET+=EDITOR EGL ELMUSIC ELSOUND ENCHANT ETCSYMLINK EXAMPLES EXIV EXPAT EXR EXTRAFONTS EXTRAS EYECANDY
OPTIONS_SET+=FAAC FAAD FAIRYMAX FETCHART FFMPEG FFTW FFTW3 FLAC FLANG FLITE FLUID FLUIDSYNTH FONTCONFIG FORTRAN FREETYPE FREI0R \
		FRIBIDI
OPTIONS_SET+=GAME GECKO GHOSTSCRIPT GIR GLASSFISH GLX GM GMP GNUCHESS GNUPG2 GOEMON GOLD GSL GSTREAMER GST_PLUGINS GUESTADDITIONS
OPTIONS_SET+=HARFBUZZ HUNSPELL HYPRE
OPTIONS_SET+=ICONV ICS_VCAL ID3TAG IJS IMAGEMAGICK IO_PTR IPV6 IRRLICHT
OPTIONS_SET+=JASPER JAVA JPEG2000 JSON
OPTIONS_SET+=KF5 KNIGHTCAP
OPTIONS_SET+=LADSPA LAME LARGE_STACK LASTFM LAUNCHER LCMS2 LHA LIBEDIT LIBEDIT_DL LIBFFI LIBPAPER LIBPLACEBO LIBPNG LIBRSVG2 LIBSSH2 \
		LIBXML LIBYAML LIT LLD LLDB LLD_LINK LOCALE_EN LUAJIT LV2 LZ4 LZO
OPTIONS_SET+=MAN MAN3 MANPAGE MANPAGES MATERIALX MFX MIDI MIKMOD MLIR MMX MNG_OPTIMIZE MODPLUG MONO MP3 MP3OGG MPG123 MPEG2 MPI \
		MT32EMU MTP MULTILIB MULTIPLICITY MUSEPACK MUSIC MYSQL
OPTIONS_SET+=NCURSES NETLIB NETTLE NONFREE NUMPY
OPTIONS_SET+=OBJC OGG OGRE ONIGURUMA OPENAL OPENAL_DLOPEN OPENCL OPENGL OPENH264 OPENJADE OPENMP OPENMPI OPTIMIZE OPTIMIZED_CFLAGS \
		OPUS OSS
OPTIONS_SET+=PANGO PANGOCAIRO PARALLEL_MARK PERL_MALLOC PETSC PHALANX PHYSFS PNG POPPLER PSPOPPLER PTHREADS PYCLANG PYGMENTS PYMALLOC \
		PYSTEMMER
#OPTIONS_SET+=QT5AGGBACKEND
OPTIONS_SET+=RAR RDOFF REALRTSP RELEASE RELRO REMIX1 REMIX2 REMIX3 REMIX4 REPLAYGAIN RETEXTURE RHASH RTCPU RUNTIME
OPTIONS_SET+=SAMPLERATE SBCL SCHROEDINGER SDL SDL1 SDL2 SDLCLIENT SDLGL SDL_AUDIO SDL_VIDEO SESSION_MGMT SHARED SHOUTCAST SIMD \
		SIPHASH SKINS SLP SLURM SMPEG SNAPPY SOLUTIONS SOUND SOUNDTOUCH SPEEX SQLITE SSE SSE2 SSH STARTUP SUITESPARSE SVG \
		SYSTEM_ZLIB
OPTIONS_SET+=TAGLIB TAGSOUP TCL THEMES THEORA THREADS TIDYHTML5 TIMIDITYPLUS TKINTER TOC2MP3 TWOLAME TZDATA TZUPDATE
OPTIONS_SET+=UDEV
OPTIONS_SET+=VAAPI VALA VDPAU VIDEOREC VIEWER VKD3D VLC VOICE VORBIS VPX VULKAN
OPTIONS_SET+=WATCHDOG WAVPACK WAYLAND WINEMAKER WXGTK
OPTIONS_SET+=X11 X264 X265 XCB XGLK XINERAMA
OPTIONS_SET+=YAML
OPTIONS_SET+=ZIP ZIPPY ZLIB ZSTD ZVBI
# ---------------------------------------------<  End user additions and modifications >--------------------------------------------- #


#_______________________________________________________________________________________________________
#													#
#  * Openblas, Netlib (cblas), and Atlas are all options for math routines.				#
#  * cblas seems to be ovewhelmingly used with games, and by py-numpy.					#
#    therefore set to prefer cblas and netlib								#
#													#
#  * qt-location is problematic and depended upon by qt-webengine					#
#													#
#  * egl purported better and more supported than glx							#
# libedit is BSD and lighter while readline is gpl/gnu -- better to use bundled readline than as port	#
#													#
#  * rhash is MIT, gcrypt is gnu/gpl, mhash is lgpl							#
#													#
#  * MTPFS and MTPZ are related to accessing mobile devices such as their internal storage.		#
#													#
#  * NOTIFY option causes dbus to be installed								#
#_______________________________________________________________________________________________________#


#_______________________________________________________________________________
#										#
#  processor instructions support						#
#										#
#   older AMD processors do not have AVX or AVX2				#
#   https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2	#
#   AMD does have SSE2								#
#   newer AMD processors do not have 3dNow					#
#_______________________________________________________________________________#


#############################################        #######   #######   #######   ######   ######
####                                     ####      #######   #######   #######   ######   ######
####  an UNSET always overrides a SET    ####    #######   #######   ######    ######   ######
####                                     ####      #######   #######   #######   ######   ######
#############################################        #######   #######   #######   ######   ######

####################################################################
####								####
####	OPTIONS_UNSET_FORCE overrides user interactive set	####
####								####
####################################################################

#_______________________________________________________________________
#									#
# Flavored ports -- this works as expected				#
#_______________________________________________________________________#

.if ${.CURDIR:M*/ports/security/libressl-devel}
  #FLAVOR=libtls
  FLAVOR=default
.endif

.if ${.CURDIR:M*/ports/devel/git}
#  FLAVOR=tiny
.endif

.if ${.CURDIR:M*/ports/x11-toolkits/wx}
  FLAVOR=gtk3
.endif

.if ${.CURDIR:M*/ports/devel/bullet}
  FLAVOR=
.endif

#_______________________________________________________________________
#									#
# Flavored ports end							#
#_______________________________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Static needed for use with poudriere --		#
# revisit the memcached option when not experimental	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/ccache}
  NO_CCACHE=yes
  WITH_CCACHE_BUILD=no
.endif
.if ${.CURDIR:M*/ports/devel/ccache}
  OPTIONS_UNSET=DOCS
  OPTIONS_SET=CLANGLINK STATIC LLVMLINK
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# OpenSSL has many options, some unsafe			#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

.if ${.CURDIR:M*/ports/security/openssl}
OPTIONS_SET+=ASYNC
OPTIONS_SET+=CT
OPTIONS_SET+=KTLS
OPTIONS_SET+=MAN3
OPTIONS_SET+=RFC3779
OPTIONS_SET+=SHARED
OPTIONS_SET+=ZLIB

OPTIONS_SET+=ARIA
OPTIONS_SET+=DES
OPTIONS_SET+=GOST
OPTIONS_SET+=IDEA
OPTIONS_UNSET+=SM4
OPTIONS_UNSET+=RC2
OPTIONS_UNSET+=RC4
OPTIONS_UNSET+=RC5
OPTIONS_UNSET+=WEAK-SSL-CIPHERS

OPTIONS_UNSET+=MD2
OPTIONS_UNSET+=MD4
OPTIONS_SET+=MDC2
OPTIONS_SET+=RMD160
OPTIONS_SET+=SM2
OPTIONS_SET+=SM3

OPTIONS_SET+=ASM
OPTIONS_SET+=SSE2
OPTIONS_SET+=THREADS
OPTIONS_SET+=EC

OPTIONS_SET+=NEXTPROTONEG
OPTIONS_SET+=SCTP
OPTIONS_UNSET+=SSL3
OPTIONS_SET+=TLS1
OPTIONS_SET+=TLS1_1
OPTIONS_SET+=TLS1_2
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# py-sphinx adjustments dunno why now			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/textproc/py-sphinx}
RUN_DEPENDS=    ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-devhelp>=0:textproc/py-sphinxcontrib-devhelp@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-jsmath>=0:textproc/py-sphinxcontrib-jsmath@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-htmlhelp>=2.0.0:textproc/py-sphinxcontrib-htmlhelp@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-serializinghtml>=1.1.5:textproc/py-sphinxcontrib-serializinghtml@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-qthelp>=0:textproc/py-sphinxcontrib-qthelp@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0:devel/py-Jinja2@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}pygments>=2.12:textproc/py-pygments@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}docutils>=0.14,1<0.20,1:textproc/py-docutils@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}snowballstemmer>=2.0:textproc/py-snowballstemmer@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}Babel>=2.9:devel/py-babel@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}alabaster>=0.7<0.8:textproc/py-alabaster@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}imagesize>=1.3:graphics/py-imagesize@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}requests>=2.5.0:www/py-requests@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}packaging>=21.0:devel/py-packaging@${PY_FLAVOR} \
                ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# force pkg to have default: DOCS			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/json-glib}
OPTIONS_SET+=DOCS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# force pkg to have default: GNUTLS			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net/glib-networking}
OPTIONS_SET+=GNUTLS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Speed up gcc build					#
#_______________________________________________________#
.if ${.CURDIR:M*/ports/lang/gcc*}
OPTIONS_UNSET+=LTO_BOOTSTRAP
OPTIONS_UNSET_FORCE+=LTO_BOOTSTRAP
OPTIONS_UNSET_FORCE+=STANDARD_BOOTSTRAP
.endif

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# wine fails with ccache				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/emulators/wine}
WITH_CCACHE_BUILD=no
NO_CCACHE=yes
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Until ruby builds with v3.0 this fails for manpages	#
# textproc/rubygem-asciidoctor for doc creation		#
# Rust fails to build which prevents rust-svg stuff	#
#							#
# Been building my own fvwm3-dev was with SVG or not?	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/x11-wm/fvwm3}
OPTIONS_UNSET+=SVG
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# force json-glib proper config for clutter dependency	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/json-glib}
OPTIONS_SET+=GIR
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Reverse tactic, special case this for slightly older	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/pylint}
DEFAULT_VERSIONS+=python=3.8
DEFAULT_VERSIONS+=python3=3.8
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# qbittorrent settings					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net-p2p/qbittorrent}
  OPTIONS_SET+=PYTHON
  OPTIONS_UNSET+=DBUS DEBUG
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# zziplib has trouble with sdl?				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/zziplib}
  OPTIONS_UNSET+=SDL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# libmad radio fix					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/audio/libmad}
  OPTIONS_UNSET+=SPEED
  OPTIONS_SET+=ACCURACY
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# soundtouch - openmp incompatible at present		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/audio/soundtouch}
  OPTIONS_UNSET+=OPENMP
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# slurm-wlm - trouble with HDF5				#
# fails if hdf5 is enabled and was built with CXX 	#
# circular dependency if hdf5 uses PARALLEL instead	#
# all other options build fine so are set.		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/sysutils/slurm-wlm}
  OPTIONS_SET+=CURL DOCS GUI HWLOC IPMI MYSQL RRD
  OPTIONS_UNSET+=HDF5
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# hdf5 circular dependency caused by PARALLEL option	#
# radio button so should define both as appropriate	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/science/hdf5}
  OPTIONS_SET+=CXX
  OPTIONS_UNSET+=PARALLEL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# fontforge config					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/print/fontforge}
  OPTIONS_UNSET+=GTK3
  OPTIONS_SET+=READLINE FREETYPE X11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# freetype config					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/print/freetype*}
  OPTIONS_SET+=BROTLI
  OPTIONS_UNSET+=DEBUG
  OPTIONS_SET+=DOCS
  OPTIONS_SET+=LONG_PCF_NAMES
  OPTIONS_SET+=PNG
  OPTIONS_SET+=TABLE_VALIDATION

  OPTIONS_SET+=LCD_FILTERING
  OPTIONS_UNSET+=LCD_RENDERING

  OPTIONS_SET+=TT_SIZE_METRICS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# libcaca config					#
# FTGL - Freetype font rendering in OpenGL		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/libcaca}
  OPTIONS_SET+=DOCS FTGL IMLIB2 SLANG X11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# libplacebo config					#
# GLSLANG - since already SLANG above choose that here	#
# If determined better otherwise, change both and all	#
# same for ffmpeg					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/libplacebo}
  OPTIONS_SET+=GLSLANG
  OPTIONS_UNSET+=SHADERC
.endif

.if ${.CURDIR:M*/ports/multimedia/ffmpeg}
  OPTIONS_SET+=GLSLANG
  OPTIONS_UNSET+=SHADERC
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# mysql SASL for client not needed - connections local	#
# also has had issues with cyrus-sasl2			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/databases/mysql57-client}
  OPTIONS_UNSET+=SASLCLIENT
.endif

.if ${.CURDIR:M*/ports/databases/mysql80-client}
  OPTIONS_UNSET+=SASLCLIENT
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# sqlite better config -- luanti (minetest) uses this	#
# Many options formalized here				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/databases/sqlite3}
  OPTIONS_SET+=ARMOR DBPAGE DBSTAT DIRECT_READ DQS EXTENSION FTS3_TOKEN  FTS4 FTS5 MEMMAN METADATA SECURE_DELETE \
		STRIP TCL THREADS UNLOCK_NOTIFY URI
  OPTIONS_UNSET+=EXAMPLES LIKENOTBLOB NORMALIZE NULL_TRIM RBU SORT_REF STATIC STMT TRUSTED_SCHEMA UNKNOWN_SQL \
		UPDATE_LIMIT URI_AUTHORITY
#----
  OPTIONS_SET+=JSON1
  OPTIONS_UNSET+=SESSION
#----
  #OPTIONS_SET+=# none set
  OPTIONS_UNSET+=OFFSET SER1 SOUNDEX
#----
  OPTIONS_SET+=RTREE
  OPTIONS_UNSET+=GEOPOLY RTREE_INT
#----
  OPTIONS_SET+=UNICODE61
  OPTIONS_UNSET+=ICU
#----
  OPTIONS_SET+=TS2
  OPTIONS_UNSET+=TS0 TS1 TS3
#----
  #OPTIONS_SET+=# none set
  OPTIONS_UNSET+=STAT3 STAT4
#----
  OPTIONS_SET+=LIBEDIT
  OPTIONS_UNSET+=READLINE
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# cockatrice -- mysql fails to build server needs too	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/cockatrice}
  OPTIONS_UNSET+=MYSQL SERVEATRICE
.endif



#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# net-snmp config					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net-mgmt/net-snmp}
  OPTIONS_SET+=MFD_REWRITES TKMIB
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# ode adjustments					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/ode}
  OPTIONS_UNSET+=GIMPACT OU
  OPTIONS_SET+=DOUBLE
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# exult radio conflict fix				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/exult}
  OPTIONS_UNSET+=SDL1
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# heretic radio conflict fix				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/heretic}
  OPTIONS_UNSET+=X11 SDL
  OPTIONS_SET+=FASTX11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# uhexen2 radio conflict fix				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/uhexen2}
  OPTIONS_UNSET+=MAD
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# instead radio conflict fix				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/instead}
  OPTIONS_UNSET+=SDL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# espeak radio conflict fix				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/audio/espeak}
  OPTIONS_UNSET+=PORTAUDIO PULSEAUDIO
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# love luajit conflict 					#
# was partly solved or was I checking it was solved?	#
#_______________________________________________________#

#.if ${.CURDIR:M*/ports/devel/love}
#  OPTIONS_UNSET+=LUAJIT
#.endif
.if ${.CURDIR:M*/ports/devel/love10}
  OPTIONS_UNSET+=LUAJIT
.endif
#.if ${.CURDIR:M*/ports/devel/love*}
#  OPTIONS_UNSET+=LUAJIT
#.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# openoffice config					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/editors/openoffice-4}
  OPTIONS_UNSET+=MMEDIA GNOME GNOMEVFS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# casadi build option failure				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/math/casadi}
  OPTIONS_UNSET+=CLANG
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# openblas build options				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/math/openblas}
  OPTIONS_SET+=AVX AVX2 AVX512 DYNAMIC_ARCH OPENMP
  OPTIONS_UNSET+=INTERFACE64
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# suitesparse build options				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/math/suitesparse-umfpack}
  OPTIONS_UNSET+=ATLAS BLIS NETLIB
  OPTIONS_SET+=OPENBLAS
.endif

.if ${.CURDIR:M*/ports/math/suitesparse-amd}
  OPTIONS_UNSET+=ATLAS BLIS NETLIB
  OPTIONS_SET+=OPENBLAS
.endif

.if ${.CURDIR:M*/ports/math/suitesparse-config}
  OPTIONS_UNSET+=ATLAS BLIS NETLIB
  OPTIONS_SET+=OPENBLAS
.endif

.if ${.CURDIR:M*/ports/math/suitesparse-camd}
  OPTIONS_UNSET+=ATLAS BLIS NETLIB
  OPTIONS_SET+=OPENBLAS
.endif

.if ${.CURDIR:M*/ports/math/suitesparse-colamd}
  OPTIONS_UNSET+=ATLAS BLIS NETLIB
  OPTIONS_SET+=OPENBLAS
.endif

.if ${.CURDIR:M*/ports/math/suitesparse-ccolamd}
  OPTIONS_UNSET+=ATLAS BLIS NETLIB
  OPTIONS_SET+=OPENBLAS
.endif

.if ${.CURDIR:M*/ports/math/suitesparse-cholmod}
  OPTIONS_UNSET+=ATLAS BLIS NETLIB
  OPTIONS_SET+=OPENBLAS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# xorg-drivers configuration -- if scfb ticked		#
# this causes scfb dependency and scfb being		#
# available to load which prevents my AMD graphics 	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/x11-drivers/xorg-drivers}
  OPTIONS_SET+=AMDGPU ATI KEYBOARD LIBINPUT MOUSE
  OPTIONS_UNSET+=NV SCFB VESA
  OPTIONS_UNSET_FORCE+=NV SCFB VESA
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# If options MANPAGE set requires DOCS too		#
# CPACK is experimental option right now.		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/cmake}
  OPTIONS_UNSET=CPACK
  OPTIONS_SET=DOCS MANPAGES
.endif
.if ${.CURDIR:M*/ports/devel/kf5-extra-cmake-modules}
  OPTIONS_SET+=DOCS
.endif
.if ${.CURDIR:M*/ports/devel/ncurses}
  OPTIONS_SET+=DOCS PROFILE
.endif
.if ${.CURDIR:M*/ports/graphics/waffle}
  OPTIONS_SET+=DOCS
.endif
.if ${.CURDIR:M*/ports/devel/ocl-icd}
  OPTIONS_SET+=DOCS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# add some capabilities, all non-defaults, and		#
# test removing fortran option to see what breaks	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/math/coinmp}
  OPTIONS_SET+=GLPK PARALLEL
  OPTIONS_UNSET+=FORTRAN
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# gkrellm2 configuration -- needs client		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/sysutils/gkrellm2}
  OPTIONS_UNSET+=DOCS NLS NTLM OPENSSL
  OPTIONS_SET+=CLIENT
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# en-hunspell configuration				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/textproc/en-hunspell}
  OPTIONS_SET+=CA_LARGE GB_IZE US_STANDARD
  OPTIONS_UNSET+=CA_STANDARD GB_ISE GB_LARGE US_LARGE
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# hplip configuration					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/print/hplip}
  OPTIONS_SET+=SNMP X11
  OPTIONS_UNSET+=FAX SCAN XSANE
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# chromium-bsu fix radio options			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/chromium-bsu}
  OPTIONS_UNSET+=OPENAL
  OPTIONS_SET+=SDL_MIXER
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# gdb fix radio options					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/gdb}
  OPTIONS_UNSET+=PORT_READLINE
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# ffmpeg has a LOT of options, lets formalize them here		#
#								#
# SSH causes cascade py-cryptography dependency?		#
# V4L (video for linux) is a problem				#
#								#
# disable encoders, unused features, dupes, and kitchensink	#
#_______________________________________________________________#

.if ${.CURDIR:M*/ports/multimedia/ffmpeg}
#  OPTIONS_SET+=AMR_NB AMR_WB ASM ASS BS2B CACA CDIO CELT CODEC2 DAV1D
#  OPTIONS_SET+=DC1394 DOCS DRM FLITE FONTCONFIG FREETYPE FREIOR FRIBIDI
#  OPTIONS_SET+=GLSLANG GME GSM ICONV ILBC KVAZAAR LADSPA LAME LENSFUN
#  OPTIONS_SET+=LIBRSVG2 LIBXML2 LV2 LTO MFX MODPLUG MYSOFA OPENAL OPENGL
#  OPTIONS_SET+=OPENMPT OPTIMIZED_CFLAGS OPUS RIST RTCPU RUBBERBAND SDL
#  OPTIONS_SET+=SNAPPY SPEEX SRT TESSERACT THEORA TWOLAME VAAPI VDPAU
#  OPTIONS_SET+=VIDSTAB VMAF VORBIS VPX VULKAN WEBP X264 X265 XCB XVID
#  OPTIONS_SET+=XVIDEO ZIMG ZMQ ZVBI
  OPTIONS_UNSET+=ALSA AOM DEBUG FDK_AAC JACK LIBBLURAY LV2 LTO
  OPTIONS_UNSET+=OPENH264 OPENJPG POCKETSPHINX PULSEAUDIO RABBITMQ
  OPTIONS_UNSET+=RAV1E SMB SHADERC SNDIO SOXR SSH SVTAV1 SVTHEVC SVTVP9
  OPTIONS_UNSET+=V4L VAPOURSYNTH VO_AMRWBENC
#----
  OPTIONS_SET+=GPL NONFREE
#----
  OPTIONS_SET+=GMP
  OPTIONS_UNSET+=GCRYPT LIBRTMP
#----
  OPTIONS_UNSET+=GNUTLS MBEDTLS
  OPTIONS_SET+=OPENSSL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# vlc adjustments to avoid dbus and other reasons 	#
# QT5 removed from global set options due to this port	#
# SKINS implies QT5 so it must be disabled too		#
# lua seems to have some sort of error			#
#_______________________________________________________#
#.if ${.CURDIR:M*/ports/multimedia/vlc}
#multimedia_vlc_UNSET= QT5 SKINS DBUS AVAHI LUA
#multimedia_vlc_UNSET= SKINS DBUS AVAHI LUA
#OPTIONS_UNSET_FORCE=  SKINS DBUS AVAHI LUA
#.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# vlc has a LOT of options, lets formalize them here		#
# mostly identical to ffmpeg -- duplicated but added more	#
#								#
# SSH causes cascade py-cryptography dependency?		#
# V4L (video for linux) is a problem				#
#								#
# disable encoders, unused features, dupes, and kitchensink	#
#								#
# MAD unset because cores, SHROEDINGER is obsoleted		#
#_______________________________________________________________#

.if ${.CURDIR:M*/ports/multimedia/vlc}
  OPTIONS_SET+=A52 AALIB AMR_NB AMR_WB ASM ASS BS2B CACA CDIO CELT CODEC2 DAV1D
  OPTIONS_SET+=DC1394 DCA DOCS DRM DVDNAV DVDREAD FAAD FLAC FLITE FLUID
  OPTIONS_SET+=FONTCONFIG FREETYPE FREIOR FRIBIDI
  OPTIONS_SET+=GLSLANG GME GSM HARFBUZZ ICONV ILBC JPEG KATE KVAZAAR LADSPA
  OPTIONS_SET+=LAME LENSFUN LIBPLACEBO LIBRSVG2 LIBXML2
  OPTIONS_SET+=LV2 LTO MAD MFX MODPLUG MUSEPACK MYSOFA NCURSES
  OPTIONS_SET+=NOTIFY OGG OPENAL OPENGL OPENMPT
  OPTIONS_SET+=OPTIMIZED_CFLAGS OPUS PNG REALRTSP RIST RTCPU RUBBERBAND SDL
  OPTIONS_SET+=SAMPLERATE SHOUTCAST SNAPPY SPEEX SRT
  OPTIONS_SET+=TAGLIB TESSERACT THEORA TWOLAME
  OPTIONS_SET+=VAAPI VCD VDPAU VIDSTAB VMAF VORBIS VPX VULKAN
  OPTIONS_SET+=WAYLAND WEBP X264 X265 XCB XVID
  OPTIONS_SET+=XVIDEO ZIMG ZMQ ZVBI
  OPTIONS_UNSET+=ALSA AOM DEBUG FDK_AAC JACK LIBBLURAY LIBSSH2 LTO MAD
  OPTIONS_UNSET+=OPENH264 OPENJPG POCKETSPHINX PULSEAUDIO QT5 RABBITMQ
  OPTIONS_UNSET+=RAV1E SDL SCHROEDINGER SKINS SMB SNDIO SOXR SSH STREAM SVTAV1
  OPTIONS_UNSET+=SVTHEVC SVTVP9 V4L VAPOURSYNTH VO_AMRWBENC
  OPTIONS_SET+=GNUTLS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# openssh-portable config -- unset insecure option	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/security/openssh-portable}
  OPTIONS_UNSET+=NONECIPHER
  OPTIONS_UNSET_FORCE+=NONECIPHER
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# sundials add blas support				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/math/sundials}
  OPTIONS_SET+=BLAS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# better maxima config					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/math/maxima}
  OPTIONS_SET+=DOCS EXAMPLES MANPAGES NOUSERINIT TEST XMAXIMA
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# bad option name -- remove samba			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net/kdenetwork}
  OPTIONS_UNSET+=FILESHARING
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# fix qt-multimedia radio selection			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/multimedia/qt*-multimedia}
  OPTIONS_SET+=ALSA
  OPTIONS_UNSET+=PULSEAUDIO
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# fix qt-webengine radio selection			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/multimedia/qt*-multimedia}
  OPTIONS_SET+=ALSA
  OPTIONS_UNSET+=PULSEAUDIO
  OPTIONS_UNSET+=SNDIO
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# fix qtcurve radio selection				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/x11-themes/qtcurve}
  OPTIONS_SET+=GTK2 KF5
  OPTIONS_UNSET+=QT5
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# bad audio radio selections -- remove audio support	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/mail/faces}
  OPTIONS_UNSET+=AUDIO NAS RPLAY SOX
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# fix pam conflict					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/security/sudo}
  OPTIONS_UNSET+=PAM
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# add claws-mail docs					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/mail/claws-mail}
  OPTIONS_SET+=DOCS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio selector fix pinentry				#
# choose default -- unset other make.conf options	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/security/pinentry}
  OPTIONS_SET+=TTY
  OPTIONS_UNSET+=NCURSES FLTK GTK2 QT5 GNOME3
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio selector fix neon				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/www/neon}
  OPTIONS_SET+=EXPAT
  OPTIONS_UNSET+=LIBXML
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio selector fix claws-mail-bogofilter		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/mail/claws-mail-bogofilter}
  OPTIONS_SET+=SQLITE
  OPTIONS_UNSET+=BDB TC
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# good zbar defaults					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/zbar}
  OPTIONS_SET+=X11 V7
  OPTIONS_UNSET+=GTK2 V4L V6
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# good py-pillow defaults				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/py-pillow}
#  OPTIONS_SET+=X11 V7
  OPTIONS_UNSET+=IMAGEQUANT
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio selector fix lua				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/lang/lua5*}
  OPTIONS_UNSET+=LIBEDIT
.endif

.if ${.CURDIR:M*/ports/lang/lua54}
  OPTIONS_UNSET+=LIBEDIT
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio selector fix wildmidi				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/audio/wildmidi}
  OPTIONS_SET+=OSS
  OPTIONS_UNSET+=ALSA OPENAL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio selector fix glfw				#
#_______________________________________________________#
.if ${.CURDIR:M*/ports/graphics/glfw}
  OPTIONS_SET+=WAYLAND
  OPTIONS_UNSET+=X11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio selector fix vkquake				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/vkquake}
  OPTIONS_SET+=MIKMOD
  OPTIONS_UNSET+=MODPLUG XMP
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# rubygem -- take advantage of clang?			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/rubygem-multi_json}
  OPTIONS_SET+=JSON
  OPTIONS_UNSET+=JSON_PURE YAJL_RUBY
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# nss from mozilla purported faster and more featured than openSSL	#
# https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/FAQ	#
#_______________________________________________________________________#

.if ${.CURDIR:M*/ports/devel/apr}
  OPTIONS_SET+=NSS
  OPTIONS_UNSET+=SSL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# gimp help might be unique				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/gimp}
  OPTIONS_SET+=HELP
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# openSSL here is uncertain -- purports speedier	#
# http://anrieff.net/ucbench/technical_qna.html		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/archivers/libarchive}
  OPTIONS_SET+=OPENSSL
  OPTIONS_UNSET+=NETTLE
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Cannot use libressl so second best is bundled.	#
# except if openssl is used then is unset		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/www/node12}
  OPTIONS_NSET+=BUNDLED_SSL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# radio button conflicts these ports for these options	#
# mpg123 purported to be speedier if given the choice	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/audio/sdl_mixer}
  OPTIONS_SET+=MIKMOD
  OPTIONS_UNSET+=MODPLUG
.endif

.if ${.CURDIR:M*/ports/audio/sdl2_mixer}
  OPTIONS_SET+=MIKMOD MPG123
  OPTIONS_UNSET+=MODPLUG MAD
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# some odd reason doc causes issues? Weird		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/sysutils/cdrtools}
  OPTIONS_UNSET+=DOCS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Openoffice builds or pkg install; immediately cores.	#
#_______________________________________________________#

#WITH_DEBUG_PORTS+=${PKGORIGIN}

WITH_DEBUG_PORTS+=editors/openoffice-devel
WITH_DEBUG_PORTS+=editors/openoffice-4


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# samba option fails build and hal not needed		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/gnome-vfs}
  OPTIONS_UNSET+=HAL SAMBA
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# docs fails build, manpages=docs, and bash not needed	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/security/p11-kit}
  OPTIONS_UNSET+=BASH
  OPTIONS_UNSET+=DOCS
  OPTIONS_UNSET+=MANPAGES
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# I do not use kerberos so none of them are needed      #
# proper is to explicitly set GSSAPI_NONE		#
# pkgs insist ftp/curl include GSSAPI_HEIMDAL		#
#_______________________________________________________#

OPTIONS_UNSET+=KERBEROS HEIMDAL MIT HEIMDAL_BASE KERB_GSSAPI GSSAPI_BASE GSSAPI_MIT
OPTIONS_UNSET+=GSSAPI_HEIMDAL
OPTIONS_SET+=GSSAPI_NONE


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# dependents of curl need TLS_SRP for some things?	#
# that option requires openssl or gnutls		#
# choose gnutls but libssh2 option requires openssl	#
# and TPM causes dependency loop due to gnutls		#
# gnutls causes dependency on nettle which conflicts	#
# with libressl-devel-libtls and tls-srp fails so then	#
# NSS is compromise which works, solves conflicts.	#
#							#
# only supports TLS-SRP with either OpenSSL or GnuTLS 	#
#							#
# libetpan needs something this config removes		#
# which causes claws-mail to fail to build		#
#							#
# Decided to allow openssl and libssh2			#
#							#
# threaded resolver doesn't work with luanti (minetest) #
#							#
# poudriere requires static				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/ftp/curl}
  OPTIONS_SET+=ALTSVC
  OPTIONS_SET+=BROTLI
  OPTIONS_SET+=CA_BUNDLE
  OPTIONS_SET+=COOKIES
  OPTIONS_UNSET+=CURL_DEBUG
  OPTIONS_UNSET+=DEBUG
  OPTIONS_SET+=DOCS
  OPTIONS_SET+=EXAMPLES
  OPTIONS_UNSET+=IDN
  OPTIONS_SET+=IPV6
  OPTIONS_SET+=NTLM
  OPTIONS_SET+=PROXY
  OPTIONS_SET+=PSL
  OPTIONS_SET+=STATIC
  OPTIONS_UNSET+=TLS_SRP
  OPTIONS_SET+=ZSTD

  OPTIONS_SET+=DICT
  OPTIONS_SET+=FTP
  OPTIONS_SET+=GOPHER
  OPTIONS_SET+=HTTP
  OPTIONS_SET+=HTTP2
  OPTIONS_SET+=IMAP
  OPTIONS_UNSET+=LDAP
  OPTIONS_UNSET+=LDAPS
  OPTIONS_UNSET+=LIBSSH
  OPTIONS_SET+=LIBSSH2
  OPTIONS_UNSET+=MQTT
  OPTIONS_SET+=POP3
  OPTIONS_UNSET+=RTMP
  OPTIONS_SET+=RTSP
  OPTIONS_UNSET+=SMB
  OPTIONS_SET+=SMTP
  OPTIONS_SET+=TELNET
  OPTIONS_SET+=TFTP
  OPTIONS_UNSET+=WEBSOCKET

  OPTIONS_UNSET+=GSSAPI_BASE
  OPTIONS_UNSET+=GSSAPI_HEIMDAL
  OPTIONS_UNSET+=GSSAPI_MIT
  OPTIONS_SET+=GSSAPI_NONE

  OPTIONS_SET+=CARES
  OPTIONS_UNSET+=THREADED_RESOLVER

  OPTIONS_UNSET+=GNUTLS
  OPTIONS_SET+=OPENSSL
  OPTIONS_UNSET+=WOLFSSL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# pango has a THAI requirement or firefox throws a fit	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/ftp/curl}
  OPTIONS_SET+=DOCS MANPAGES THAI X11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# some things require gnutls built with P11KIT option	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/security/gnutls}
  OPTIONS_UNSET+=TPM
  OPTIONS_SET+=P11KIT
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# nettle via crypto? why does textproc need crypto?	#
# gnutls calls in nettle				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/textproc/libxslt}
  OPTIONS_UNSET+=CRYPTO
.endif

.if ${.CURDIR:M*/ports/devel/py-twisted}
  OPTIONS_UNSET+=TLS
.endif

.if ${.CURDIR:M*/ports/archivers/libarchive}
  OPTIONS_SET+=OPENSSL
  OPTIONS_UNSET+=MBEDTLS NETTLE
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# some things cannot handle libressl			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net/krdc}
  OPTIONS_UNSET+=FREERDP
.endif

.if ${.CURDIR:M*/ports/net/remotebox}
  OPTIONS_UNSET+=FREERDP
.endif

.if ${.CURDIR:M*/ports/net/remina-plugins}
  OPTIONS_UNSET+=RDP
.endif

.if ${.CURDIR:M*/ports/net/guacamole-server}
  OPTIONS_UNSET+=RDP
.endif

.if ${.CURDIR:M*/ports/net/vinagre}
  OPTIONS_UNSET+=RDP
.endif

.if ${.CURDIR:M*/ports/www/node}
  OPTIONS_UNSET+=BUNDLED_SSL
.endif

.if ${.CURDIR:M*/ports/devel/qca}
  OPTIONS_SET+=OPENSSL
.endif

.if ${.CURDIR:M*/ports/dns/ldns}
  OPTIONS_UNSET+=DANETAUSAGE GOST
  OPTIONS_SET+=DRILL
.endif

.if ${.CURDIR:M*/ports/dns/unbound}
  OPTIONS_UNSET+=ECDSA GOST EVAPI
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# npm -- node package manager, keep synced with node	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/www/npm}
  OPTIONS_SET+=NODE
  OPTIONS_UNSET+=NODE10 NODE12
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Maybe limit things with ATKONLY option?		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/accessibility/at-spi2-core}
  OPTIONS_SET+=ATKONLY
  OPTIONS_SET+=X11
.endif

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# This adds samba support that I don't use		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net/kdenetwork}
  OPTIONS_UNSET+=FILESHARING
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# gtk3 adjustments but will it still ask for dbus?	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/x11-toolkits/gtk30}
  OPTIONS_UNSET+=ATK_BRIDGE CLOUDPRINT COLORD DEBUG
  OPTIONS_SET+=BROADWAY CUPS WAYLAND X11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# openal -  avoiding dbus means no config utility	#
# Warnings from this report "alsoft" self-identifier	#
# qt5 requires dbus so we avoid qt5 too			#
# sndio causes trouble for firefox audio		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/audio/openal-soft}
  OPTIONS_UNSET+=CONFIG EXAMPLES JACK PORTAUDIO PULSEAUDIO SNDIO UTILS
  OPTIONS_SET+=OSS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Try optimal firefox config				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/www/firefox}
  OPTIONS_UNSET+=CANBERRA DBUS DEBUG OPTIMIZED_CFLAGS PROFILE LIBPROXY TEST ALSA JACK PULSEAUDIO SNDIO
  OPTIONS_SET+=LTO FFMPEG
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# does firefox issue with libressl via libevent remain?	#
# mysql needs libevent to have openssl			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/libevent}
#  OPTIONS_UNSET+=OPENSSL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Minetest special adjustments test			#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/games/minetest}
#  OPTIONS_SET+=CURL DOCS EXAMPLES LUAJIT SOUND CLIENT SERVER FREETYPE
#  OPTIONS_UNSET+=NCURSES NLS PGSQL LEVELDB REDIS SPATIAL
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# override defaults for llvm?				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/devel/llvm*}
  OPTIONS_UNSET+=BE_FREEBSD BE_STANDARD
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# match rust-nightly					#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/lang/rust}
  OPTIONS_UNSET+=GDB
## maybe firefox needs webassembly?
  OPTIONS_SET+=WASM
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# mDNSResponder vs Avahi choose Avahi			#
# if mDNSResponder does not require dbus, revise	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net/ntp-devel}
 CONFLICTS+=avahi*
.endif
.if ${.CURDIR:M*/ports/audio/murmur}
 CONFLICTS+=avahi*
.endif

.if ${.CURDIR:M*/ports/devel/android-tools-adb}
  OPTIONS_UNSET+=MDNSRESPONDER
.endif

.if ${.CURDIR:M*/ports/audio/shairplay}
  OPTIONS_UNSET+=MDNSRESPONDER
.endif

.if ${.CURDIR:M*/ports/audio/xmms2}
  OPTIONS_UNSET+=MDNS_APPLE
  OPTIONS_SET+=MDNS_AVAHI
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Fix circular dependency loops				#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/net/avahi}
  OPTIONS_UNSET+=GTK
.endif

.if ${.CURDIR:M*/ports/print/cups}
  OPTIONS_UNSET+=AVAHI GNUTLS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  remove dbus from cups				#
#_______________________________________________________#
.if ${.CURDIR:M*/ports/print/cups}
  OPTIONS_UNSET+=DBUS
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# ImageMagick6 vs 7 conflict -- most use V6		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/zbar}
  OPTIONS_UNSET+=V7
  OPTIONS_SET+=V6
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# damned wayland additions				#
# some cause problems? Looks like I changed my mind?	#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/mesa-dri}
#    OPTIONS_UNSET+=WAYLAND
    OPTIONS_SET+=WAYLAND
.endif
.if ${.CURDIR:M*/ports/graphics/mesa-libs}
#    OPTIONS_UNSET+=WAYLAND
    OPTIONS_SET+=WAYLAND
.endif
.if ${.CURDIR:M*/ports/devel/sdl20}
#    OPTIONS_UNSET+=VIDEO_WAYLAND
    OPTIONS_SET+=VIDEO_WAYLAND
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  sdl2 options settings				#
#_______________________________________________________#
.if ${.CURDIR:M*/ports/devel/sdl20}
    OPTIONS_UNSET+=CSD DBUS FCITX HIDAPI IBUS JOYSTICK \
		ALSA JACK NAS PIPEWIRE PULSEAUDIO SNDIO
    OPTIONS_SET+=SAMPLERATE UDEV \
		OSS \
		KMSDRM OPENGL OPENGLES VULCAN X11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  libglvnd must have X11 set for cairo			#
#_______________________________________________________#
.if ${.CURDIR:M*/ports/graphics/libglvnd}
    OPTIONS_SET+=X11
    OPTIONS_SET_FORCE=X11
.endif


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# ImageMagick7  - explicitly set options		#
#_______________________________________________________#

.if ${.CURDIR:M*/ports/graphics/ImageMagick7}
  OPTIONS_UNSET+=FPX GRAPHVIZ GSLIB
  OPTIONS_SET+=16BIT_PIXEL BZIP2 DJVU DOCS FFMPEG FFTW FLIF FONTCONFIG FREETYPE HDRI HEIF JBIG JPEG
  OPTIONS_SET+=JXL LCMS2 LQR LZMA MODULES OPENEXR OPENMP PANGO PDF PERL PNG RAQM RAW SVG THREADS
  OPTIONS_SET+=TIFF WEBP WMF
.endif

# ---------------------------------------------<  End user additions and modifications >--------------------------------------------- #


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Automatically added portconf section -- DON'T TOUCH	#
#_______________________________________________________#


Sunday, September 3, 2023

Revised minetest-dev: fonts!

Anyone watching my git repo for minetest-dev or any of the others will know that I have expanded a bit on what I attempt to maintain in a reasonably timely manner.  Not too long ago, during a period when my FreeBSD install was functioning without hiccups, I eventually figured out another improvement to the minetest-dev Makefile.  I also have done a little cleanup for the options exposed to those who wish to install it.

Something I have wanted to do but hadn't the motivation or free time simultaneously is to have a way for the fonts installed on the system to be used by minetest, instead of duplicating them.  The solution I worked out is definitely not the best and actually begs upstream developers to include a proper mechanism to do this properly.  I understand that the minetest client should be guaranteed to have fonts it expects but without a mechanism within its build structure or configuration, we are stuck with a duplication of files for no real purpose.

minetest-dev:

PORTNAME=       minetest
DISTVERSION=    g20230902
CATEGORIES=     games
PKGNAMESUFFIX=  -dev
DISTNAME=       ${PORTNAME}-${GH_TAGNAME}
DIST_SUBDIR=    ${PORTNAME}${PKGNAMESUFFIX}

MAINTAINER=     nope@nothere
COMMENT=        Near-infinite-world block sandbox game
WWW=            https://www.minetest.net/

LICENSE=        LGPL21+

LIB_DEPENDS=    libIrrlichtMt.so:x11-toolkits/irrlicht-minetest libzstd.so:archivers/zstd

USES=           cmake compiler:c++14-lang iconv:wchar_t sqlite luajit
# Upstream requires Clang 3.5+ which for our criteria matches c++14-lang
# since https://en.cppreference.com/w/cpp/compiler_support
# lists "C++14 library support status (complete as of 3.5)"
# All other dependency version numbers are more direct and obvious, and surpass requirement.

CONFLICTS=      minetest

USE_GITHUB=     nodefault
GH_ACCOUNT=     minetest
GH_PROJECT=     minetest
GH_TAGNAME=     83b85ba16aaab7bddc479beada4ca3af9fa54a1b

CMAKE_ARGS=     -DCMAKE_BUILD_TYPE="MinSizeRel" \
                -DCUSTOM_EXAMPLE_CONF_DIR="${PREFIX}/etc" \
                -DCUSTOM_MANDIR="${PREFIX}/man"

WRKSRC=         ${WRKDIR}/${PORTNAME}-${GH_TAGNAME}

OPTIONS_DEFINE=                 CURL DOCS FREETYPE LUAJIT NCURSES NLS SOUND SPATIAL TOUCH PROMETHEUS
OPTIONS_DEFAULT=                CURL DOCS FREETYPE LUAJIT SOUND SPATIAL SYSTEM_FONTS SYSTEM_GMP SYSTEM_JSONCPP CLIENT GLVND

OPTIONS_SINGLE=                 GRAPHICS
OPTIONS_MULTI=                  SYSTEM COMP
OPTIONS_GROUP=                  BUILD DATABASE

COMP_DESC=                      Software components
OPTIONS_MULTI_COMP=             CLIENT SERVER

SYSTEM_DESC=                    System subsitutes
OPTIONS_MULTI_SYSTEM=           SYSTEM_GMP SYSTEM_JSONCPP SYSTEM_FONTS

SYSTEM_GMP_DESC=                Use gmp from ports (ENABLE_SYSTEM_GMP)
SYSTEM_GMP_CMAKE_BOOL=          ENABLE_SYSTEM_GMP
SYSTEM_GMP_CMAKE_ON=            -DGMP_INCLUDE_DIR="${PREFIX}/include"
SYSTEM_GMP_LIB_DEPENDS=         libgmp.so:math/gmp

SYSTEM_JSONCPP_DESC=            Use jsoncpp from ports (ENABLE_SYSTEM_JSONCPP)
SYSTEM_JSONCPP_CMAKE_BOOL=      ENABLE_SYSTEM_JSONCPP
SYSTEM_JSONCPP_CMAKE_ON=        -DJSON_INCLUDE_DIR="${PREFIX}/include/jsoncpp"
SYSTEM_JSONCPP_LIB_DEPENDS=     libjsoncpp.so:devel/jsoncpp

SYSTEM_FONTS_DESC=              Use or install default fonts from ports
SYSTEM_FONTS_RUN_DEPENDS=       ${LOCALBASE}/share/fonts/ChromeOS/Arimo-Bold.ttf:x11-fonts/croscorefonts-fonts-ttf \
                                ${LOCALBASE}/share/fonts/Droid/DroidSans.ttf:x11-fonts/droid-fonts-ttf

BUILD_DESC=                     Dev Build options
OPTIONS_GROUP_BUILD=            BENCHMARKS EXAMPLES UNITTESTS DEVTEST

BENCHMARKS_DESC=                Build benchmark sources (BUILD_BENCHMARKS)
BENCHMARKS_CMAKE_BOOL=          BUILD_BENCHMARKS
EXAMPLES_DESC=                  BUILD_EXAMPLES
EXAMPLES_CMAKE_BOOL=            BUILD_EXAMPLES
DEVTEST_DESC=                   Install Development Test game also (INSTALL_DEVTEST)
DEVTEST_CMAKE_BOOL=             INSTALL_DEVTEST
UNITTESTS_DESC=                 Build unittest sources (BUILD_UNITTESTS)
UNITTESTS_CMAKE_BOOL=           BUILD_UNITTESTS

OPTIONS_SINGLE_GRAPHICS=        GLVND LEGACY
GRAPHICS_DESC=                  Graphics support

GLVND_DESC=                     Use libOpenGL or libGLX
GLVND_CMAKE_BOOL=               ENABLE_GLVND
GLVND_CMAKE_ON=                 -DOPENGL_GL_PREFERENCE="GLVND" -DOPENGL_xmesa_INCLUDE_DIR="${PREFIX}/lib"
GLVND_USE=                      GL+=opengl

LEGACY_DESC=                    Use libGL - where GLVND may be broken on nvidia
LEGACY_CMAKE_BOOL=              ENABLE_LEGACY
LEGACY_CMAKE_ON=                -DOPENGL_GL_PREFERENCE="LEGACY" -DOPENGL_xmesa_INCLUDE_DIR="${PREFIX}/lib"
LEGACY_USE=                     GL+=opengl

DATABASE_DESC=                  Database support
OPTIONS_GROUP_DATABASE=         LEVELDB PGSQL REDIS

OPTIONS_SUB=                    yes

CLIENT_DESC=                    Build client
CLIENT_CMAKE_BOOL=              BUILD_CLIENT
CLIENT_LIB_DEPENDS=             libIrrlichtMt.so:x11-toolkits/irrlicht-minetest \
                                libpng.so:graphics/png

CLIENT_USES=                    gl xorg
CLIENT_USE=                     jpeg GL=gl,glu \
                                XORG=ice,sm,x11,xext,xcb,xres,xshmfence,xau,xaw,xcomposite,xcursor,xdamage,xdmcp,\
                                xfixes,xft,xi,xinerama,xkbfile,xmu,xpm,xrandr,xrender,xscreensaver,xt,xtst,xv,xxf86vm

SERVER_DESC=                    Build server
SERVER_CMAKE_BOOL=              BUILD_SERVER

CURL_DESC=                      Enable cURL support for fetching media
CURL_CMAKE_BOOL=                ENABLE_CURL
CURL_LIB_DEPENDS=               libcurl.so:ftp/curl

SOUND_DESC=                     Enable sound via openal-soft
SOUND_CMAKE_BOOL=               ENABLE_SOUND

FREETYPE_DESC=                  Support for TrueType fonts with unicode
FREETYPE_CMAKE_BOOL=            ENABLE_FREETYPE
FREETYPE_LIB_DEPENDS=           libfreetype.so:print/freetype2

NCURSES_DESC=                   Enables server side terminal (cli option: --terminal)
NCURSES_CMAKE_BOOL=             ENABLE_CURSES
NCURSES_USES=                   ncurses

# This option is becoming uncertain, though it does something, is it useful?
LUAJIT_DESC=                    Require LUAJIT (always enabled)
LUAJIT_CMAKE_BOOL_ON=           REQUIRE_LUAJIT
LUAJIT_CMAKE_BOOL_OFF=          ENABLE_LUAJIT

LEVELDB_DESC=                   Enable LevelDB backend
LEVELDB_CMAKE_BOOL=             ENABLE_LEVELDB
LEVELDB_LIB_DEPENDS=            libleveldb.so:databases/leveldb

PGSQL_DESC=                     Enable PostgreSQL map backend
PGSQL_USES=                     pgsql
PGSQL_CMAKE_BOOL=               ENABLE_POSTGRESQL

REDIS_DESC=                     Enable Redis backend
REDIS_CMAKE_BOOL=               ENABLE_REDIS
REDIS_LIB_DEPENDS=              libhiredis.so:databases/hiredis

SPATIAL_DESC=                   Enable SpatialIndex (Speeds up AreaStores)
SPATIAL_LIB_DEPENDS=            libspatialindex.so:devel/spatialindex
SPATIAL_CMAKE_BOOL=             ENABLE_SPATIAL

NLS_DESC=                       Native Language Support (ENABLE_GETTEXT)
NLS_CMAKE_BOOL=                 ENABLE_GETTEXT
NLS_USES=                       gettext
NLS_LDFLAGS=                    -L${LOCALBASE}/lib

TOUCH_DESC=                     Build with touch interface support
TOUCH_CMAKE_BOOL=               ENABLE_TOUCH
# dependency?

PROMETHEUS_DESC=                Build with Prometheus metrics exporter
PROMETHEUS_CMAKE_BOOL=          ENABLE_PROMETHEUS
# dependency?

.include 

.if ${PORT_OPTIONS:MCLIENT} && ${PORT_OPTIONS:MSOUND}
USES+=                  openal
LIB_DEPENDS+=           libogg.so:audio/libogg \
                        libvorbis.so:audio/libvorbis \
                        libvorbisfile.so:audio/libvorbis
.endif

.if ${PORT_OPTIONS:MSERVER}
#USE_RC_SUBR=   ${PORTNAME}
#USERS=         ${PORTNAME}
#GROUPS=        ${PORTNAME}
#USE_RC_SUBR=           minetest/ERX
USE_RC_SUBR=            minetest
USERS=                  minetest
GROUPS=                 minetest
.endif

# Exactly why this must be done this way eludes me but this works and satisfies the install needs.
.if ${PORT_OPTIONS:MSYSTEM_FONTS}
pre-install:
        ${MKDIR} ${LOCALBASE}/share/minetest/fonts
        ${RM} ${LOCALBASE}/share/minetest/fonts/Arimo-Bold.ttf
        ${RM} ${LOCALBASE}/share/minetest/fonts/Arimo-BoldItalic.ttf
        ${RM} ${LOCALBASE}/share/minetest/fonts/Arimo-Italic.ttf
        ${RM} ${LOCALBASE}/share/minetest/fonts/Cousine-Bold.ttf
        ${RM} ${LOCALBASE}/share/minetest/fonts/Cousine-BoldItalic.ttf
        ${RM} ${LOCALBASE}/share/minetest/fonts/Cousine-Italic.ttf
        ${RM} ${LOCALBASE}/share/minetest/fonts/Cousine-Regular.ttf
        ${RM} ${LOCALBASE}/share/minetest/fonts/DroidSansFallbackFull.ttf
        ${MKDIR} ${LOCALBASE}/share/minetest/fonts
        ${LN} -s ${LOCALBASE}/share/fonts/ChromeOS/Arimo-Bold.ttf ${LOCALBASE}/share/minetest/fonts/Arimo-Bold.ttf
        ${LN} -s ${LOCALBASE}/share/fonts/ChromeOS/Arimo-BoldItalic.ttf ${LOCALBASE}/share/minetest/fonts/Arimo-BoldItalic.ttf
        ${LN} -s ${LOCALBASE}/share/fonts/ChromeOS/Arimo-Italic.ttf ${LOCALBASE}/share/minetest/fonts/Arimo-Italic.ttf
        ${LN} -s ${LOCALBASE}/share/fonts/ChromeOS/Cousine-Bold.ttf ${LOCALBASE}/share/minetest/fonts/Cousine-Bold.ttf
        ${LN} -s ${LOCALBASE}/share/fonts/ChromeOS/Cousine-BoldItalic.ttf ${LOCALBASE}/share/minetest/fonts/Cousine-BoldItalic.ttf
        ${LN} -s ${LOCALBASE}/share/fonts/ChromeOS/Cousine-Italic.ttf ${LOCALBASE}/share/minetest/fonts/Cousine-Italic.ttf
        ${LN} -s ${LOCALBASE}/share/fonts/ChromeOS/Cousine-Regular.ttf ${LOCALBASE}/share/minetest/fonts/Cousine-Regular.ttf
        ${LN} -s ${LOCALBASE}/share/fonts/Droid/DroidSansFallbackFull.ttf ${LOCALBASE}/share/minetest/fonts/DroidSansFallbackFull.ttf
.endif

post-install:
        @${ECHO_MSG} " "
        @${ECHO_MSG} "-->  "${PREFIX}/etc/"minetest.conf.example explains options and gives their default values. "
        @${ECHO_MSG} " "
        @${ECHO_MSG} "-->  Local network issues could cause singleplayer to fail. "
        @${ECHO_MSG} " "
        @${ECHO_MSG} "-->  Alternate graphics driver may be set in client config, must be set to get used."
        @${ECHO_MSG} " "
        @${ECHO_MSG} " "

# hacky way to not bring irrlicht and X11 depends for server only
#.if ! ${PORT_OPTIONS:MCLIENT} && ${PORT_OPTIONS:MSERVER}
#BROKEN= server only hack fails for irrlicht fork
#.endif
# From wiki:
#  Building without Irrlicht / X dependency
# You can build the Minetest server without library dependencies to Irrlicht or any graphical stuff.
# You still need the Irrlicht headers for this, so first, download the irrlicht source to somewhere.
#
# When invoking CMake, use -DBUILD_CLIENT=0 -DIRRLICHT_SOURCE_DIR=/wherever/you/unzipped/the/source.

#----------------------------------------------------------------------
#
# Strangely network issues can prevent singleplayer from functioning.
# GCC           7.5+    or Clang 6.0+
# CMake         3.5+
# IrrlichtMt    -       Custom version of Irrlicht, see https://github.com/minetest/irrlicht
# Freetype      2.0+
# SQLite3       3+
# Zstd          1.0+
# LuaJIT        2.0+    Bundled Lua 5.1 is used if not present
# GMP           5.0.0+  Bundled mini-GMP is used if not present
# JsonCPP       1.0.0+  Bundled JsonCPP is used if not present
# Curl          7.56.0+ Optional
# gettext       -       Optional
#----------------------------------------------------------------------
.include 

The post-install message is there for information which I believe an official port wouldn't even place within a pkg-message file, and why must I bother with another file if this remains the same much of the time. It would be one more file to track and possibly update.

Once more: I am not an official port maintainer of official ports, and although I may have based my initial Makefiles upon prior works, these are different, unique, and likely never to be annointed in their format or style or technique.  Use them as you choose, the risk is yours regardless of whether they seem safe and effective on my system, caveat emptor for both and all.  I will attempt to keep both updated nearly as frequently as I discover new commits.

Repo urls:

Maintaining these unofficial ports [tree leaf contents files] is an enjoyable hobby which ensures that I also have the very most current software.  The process to do this officially or not is not particularly difficult but it can certainly be a challenge.  I have yet to completely beat dbeaver into utter submission, but the datestamp solution is less than obvious even with a partial answer I am uncertain how to adapt it.  You will never know how you could succeed if you never attempt it.  If there is ANYTHING out there in the Linux world which you want to have for yourself, you can try to port it.  Read the porter's handbook, my own blog posts relate my experiences.

Monday, April 5, 2021

Getting minetest-dev built

Here I go again.  I had recently finished making a substantial revision to the minetest makefile and I wrote about it in a blog post which I updated a short time ago.  I decided to attempt to make the unreleased development version of minetest buildable on my system.  The added wrinkle with this is that the minetest developers decided to fork irrlicht in order to have it work better with minetest.  So you may conclude that I now have two ports to successfully build.

Starting with my own rococo Makefile in a new port directory, games/minetest-dev, I worked at attempting to get the source and have the build succeed.  It took a bit of time to manipulate the Makefile for this unique situation which technically has no source tarball, though the master branch can be downloaded as a .zip file.  I could have used the github shortcut option in my Makefile but at least initially the arrangement is unique and not quite as described in the porter's handbook.

After a while, I finally was able to get the .zip file, unpack it and begin to build which stopped at the point that it discovered irrlicht on my system was not the forked version it needed.  This meant that I needed to begin my efforts on getting the irrlicht fork to build.  Similarly to my build of minetest-dev, I began with the irrlicht port that already exists in the tree by copying it all to another directory, x11-toolkits/irrlicht-minetest. It didn't take long to discover that it seemed as though this fork was built differently than the original irrlicht port which makes some sense as it is being modified by other developers and we all know different developers often prefer different tools.

As I am nearly finished with the irrlichtMt port except for installation, I now need to generate a package list for it.  This is one step I have not done often enough to remember it, like I can for make makesum so I have to look up what it is, a successful search confirms that it is make makeplist > pkg-plist but of course I will need to look over the generated file and edit out the top line.  While I had believed I was nearly finished, in fact my Makefile still had some flaws.  My solution was to simplify it by commenting out some lines until I finally happened upon the right combination which permitted me a successful build.  Once that was accomplished I could make the pkg-plist, edit it to remove the top line and call it done for now.

Back to the games/minetest-dev port to see if an install of irrlichtMt is found by it and then it will progress further in its build, hopefully to completion.  It seemed to build fine but failed on install I believe due to an old pkg-plist and the mechanism attempting to honor it.  Another clean build without that file so I can re-create it should solve this small issue.  It turns out that was not the issue, but my removal of the files directory which is usually used for patches, but also had something named minetest.in that was needed though how it is identified as a requirement I do not know.  I just copied the file from the minetest game port.  The remaining error messages seem to be caused by the lack of pkg-plist file but as the build was otherwaise successful, it was easily created.  Of course, after all of this, I get the last inescapable complaint, that this version of minetest conflicts with the minetest game already installed.

This was a rather pleasant experience even though there were moments when I was confused as to how to solve an issue with either port.  I can count these as my first successful ported software with mostly proper Makefiles and procedures, even if I had a bit of a head start with already existing Makefiles.  The main things which cause them to be less than proper is that I do not use any version numbers for distfiles as both are very generic .zip files direct from github.  If I discover how to solve that, or in the near future when the minetest project has cut a release for either of them, that issue can be solved.  Another minetest developer (of mods primarily) warned me that this dev version is somewhat of a mess, but I just installed it and have tested by playing the same minetest server games online which I usually do, and it seemed fine.  Maybe an earlier version was not as good but maybe I happened to grab a zip file of a coherent version that works, at least on FreeBSD.

For those who are curious, the two initially sucessful Makefiles are found at the repo links while more accurate (more recent) and complete ones are below.  I have realized that one way to maintain these port directories is to use a symbolic link into the ports tree for each of them if necessary while the actual content can reside on another account home directory in its own directory appropriately named (Ported_Software) containing them and any future port I manage to accomplish.  I chose to re-create the necessary subset of the ports tree, meaning that I made both hierarchies Ported_Software/x11-toolkits/irrlicht-minetest and Ported_Software/games/minetest-dev which will be easier to handle than any other variation and will be very much less cluttered until I make a very substantial number of ports.

minetest-dev:

PORTNAME=	minetest
DISTVERSION=	g20210612
CATEGORIES=	games
PKGNAMESUFFIX=	-dev
DISTNAME=	master
DIST_SUBDIR=	${PORTNAME}${PKGNAMESUFFIX}

MAINTAINER=	nope@nothere
COMMENT=	Near-infinite-world block sandbox game

LICENSE=	LGPL21+

LIB_DEPENDS=	libIrrlichtMt.so:x11-toolkits/irrlicht-minetest

USES=		cmake compiler:c11 iconv:wchar_t sqlite

CONFLICTS=	minetest

USE_GITHUB=     nodefault
GH_ACCOUNT=     minetest
GH_PROJECT=     minetest
GH_TAGNAME=	dc165fe942bcc48d7dea0a7b722886937d9c6914

CMAKE_ARGS=	-DBUILD_UNITTESTS="FALSE" \
		-DCMAKE_BUILD_TYPE="MinSizeRel" \
		-DCUSTOM_EXAMPLE_CONF_DIR="${PREFIX}/etc" \
		-DCUSTOM_MANDIR="${PREFIX}/man"
WRKSRC=	${WRKDIR}/minetest-${GH_TAGNAME}

LDFLAGS_i386=	-Wl,-znotext

#PORTDATA=	*
#PORTDOCS=	*

OPTIONS_DEFINE=	CURL DOCS EXAMPLES FREETYPE GLES LUAJIT NCURSES NLS SOUND SYSTEM_GMP \
		SYSTEM_JSONCPP PROMETHEUS
OPTIONS_MULTI=	COMP
OPTIONS_RADIO=	GRAPHICS
OPTIONS_GROUP=	DATABASE

COMP_DESC=		Software components
OPTIONS_MULTI_COMP=	CLIENT SERVER

OPTIONS_RADIO_GRAPHICS=	GLVND LEGACY

SYSTEM_GMP_DESC=		Use gmp from ports (ENABLE_SYSTEM_GMP)
SYSTEM_GMP_CMAKE_BOOL=		ENABLE_SYSTEM_GMP
SYSTEM_GMP_CMAKE_ON=		-DGMP_INCLUDE_DIR="${PREFIX}/include"
SYSTEM_GMP_LIB_DEPENDS=		libgmp.so:math/gmp

SYSTEM_JSONCPP_DESC=		Use jsoncpp from ports (ENABLE_SYSTEM_JSONCPP)
SYSTEM_JSONCPP_CMAKE_BOOL=	ENABLE_SYSTEM_JSONCPP
SYSTEM_JSONCPP_CMAKE_ON=	-DJSON_INCLUDE_DIR="${PREFIX}/include/jsoncpp"
SYSTEM_JSONCPP_LIB_DEPENDS=	libjsoncpp.so:devel/jsoncpp

GRAPHICS_DESC=			Graphics support
GLVND_DESC=			Use libOpenGL or libGLX
LEGACY_DESC=			Use libGL - where GLVND may be broken on nvidia
GLES_DESC=			Use libOpenGLES instead of libOpenGL

GLVND_CMAKE_ON=			-DOPENGL_GL_PREFERENCE="GLVND"
LEGACY_CMAKE_ON=		-DOPENGL_GL_PREFERENCE="LEGACY"
GLES_CMAKE_BOOL=		ENABLE_GLES

DATABASE_DESC=			Database support
OPTIONS_GROUP_DATABASE=		LEVELDB REDIS SPATIAL
#OPTIONS_GROUP_DATABASE=	LEVELDB PGSQL REDIS SPATIAL

OPTIONS_DEFAULT=		CLIENT CURL DOCS FREETYPE GLVND LUAJIT NCURSES SOUND \
				SYSTEM_GMP SYSTEM_JSONCPP
OPTIONS_SUB=			yes

CLIENT_DESC=			Build client
CLIENT_CMAKE_BOOL=		BUILD_CLIENT
CLIENT_LIB_DEPENDS=		libIrrlichtMt.so:x11-toolkits/irrlicht-minetest \
				libpng.so:graphics/png
CLIENT_USES=			gl jpeg xorg
CLIENT_USE=			GL=gl,glu \
				XORG=ice,sm,x11,xext,xxf86vm
SERVER_DESC=			Build server
SERVER_CMAKE_BOOL=		BUILD_SERVER

CURL_DESC=			Enable cURL support for fetching media
CURL_CMAKE_BOOL=		ENABLE_CURL
CURL_LIB_DEPENDS=		libcurl.so:ftp/curl
SOUND_DESC=			Enable sound via openal-soft
SOUND_CMAKE_BOOL=		ENABLE_SOUND
FREETYPE_DESC=			Support for TrueType fonts with unicode
FREETYPE_CMAKE_BOOL=		ENABLE_FREETYPE
FREETYPE_LIB_DEPENDS=		libfreetype.so:print/freetype2
NCURSES_DESC=			Enable ncurses console
NCURSES_CMAKE_BOOL=		ENABLE_CURSES
NCURSES_USES=			ncurses

LUAJIT_DESC=			LuaJIT support (lang/luajit-openresty)
LUAJIT_CMAKE_BOOL=		ENABLE_LUAJIT REQUIRE_LUAJIT
LUAJIT_LIB_DEPENDS=		libluajit-5.1.so:lang/luajit-openresty

PGSQL_USES=			pgsql
PGSQL_CMAKE_BOOL=		ENABLE_POSTGRESQL
#PGSQL_LIB_DEPENDS=		libsqlite3.so:databases/sqlite3  # probable depend - check when this pgsql builds
LEVELDB_DESC=			Enable LevelDB backend
LEVELDB_CMAKE_BOOL=		ENABLE_LEVELDB
LEVELDB_LIB_DEPENDS=		libleveldb.so:databases/leveldb
REDIS_DESC=			Enable Redis backend
REDIS_CMAKE_BOOL=		ENABLE_REDIS
REDIS_LIB_DEPENDS=		libhiredis.so:databases/hiredis
SPATIAL_DESC=			Enable SpatialIndex AreaStore backend
SPATIAL_LIB_DEPENDS=		libspatialindex.so:devel/spatialindex
SPATIAL_CMAKE_BOOL=		ENABLE_SPATIAL

NLS_DESC=			Native Language Support (ENABLE_GETTEXT)
NLS_CMAKE_BOOL=			ENABLE_GETTEXT
NLS_USES=			gettext
NLS_LDFLAGS=			-L${LOCALBASE}/lib

PROMETHEUS_DESC=		Build with Prometheus metrics exporter
PROMETHEUS_CMAKE_BOOL=		ENABLE_PROMETHEUS
#PROMETHEUS_USES=		gettext

.include 

.if ${PORT_OPTIONS:MCLIENT} && ${PORT_OPTIONS:MSOUND}
USES+=		openal
LIB_DEPENDS+=	libogg.so:audio/libogg \
		libvorbis.so:audio/libvorbis \
		libvorbisfile.so:audio/libvorbis
.endif

.if ${PORT_OPTIONS:MSERVER}
#USE_RC_SUBR=	${PORTNAME}
#USERS=		${PORTNAME}
#GROUPS=	${PORTNAME}
USE_RC_SUBR=	minetest
USERS=		minetest
GROUPS=		minetest
.endif

# hacky way to not bring irrlicht and X11 depends for server only
.if ! ${PORT_OPTIONS:MCLIENT} && ${PORT_OPTIONS:MSERVER}
BROKEN= server only hack fails for irrlicht fork
.endif
# From wiki:
#  Building without Irrlicht / X dependency
# You can build the Minetest server without library dependencies to Irrlicht or any graphical stuff.
# You still need the Irrlicht headers for this, so first, download the irrlicht source to somewhere.
#
# When invoking CMake, use -DBUILD_CLIENT=0 -DIRRLICHT_SOURCE_DIR=/wherever/you/unzipped/the/source.

#post-patch:
#	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
#		${WRKSRC}/cmake/Modules/*.cmake

.include 

irrlichtMt:

PORTNAME=	irrlichtMt
DISTVERSION=	g20210524
CATEGORIES=	x11-toolkits graphics
DISTNAME=	master
DIST_SUBDIR=	${PORTNAME}

MAINTAINER=	nope@nothere
COMMENT=	High performance realtime 3D engine - minetest fork

LICENSE=	ZLIB

LIB_DEPENDS=	libpng.so:graphics/png

USES=		alias cmake compiler:c11 dos2unix jpeg gl xorg

DOS2UNIX_GLOB=	*.cpp *.h *.txt Makefile

USE_GITHUB=	nodefault
GH_ACCOUNT=	minetest
GH_PROJECT=	irrlicht
GH_TAGNAME=	393793f28afa15641533f687f3a242e32a052fbc

CMAKE_ARGS=	-DCMAKE_BUILD_TYPE="MinSizeRel" \
		-DCUSTOM_MANDIR="${PREFIX}/man"

USE_GL=		gl glu
USE_XORG=	x11 xxf86vm
USE_LDCONFIG=	yes

WRKSRC=		${WRKDIR}/irrlicht-${GH_TAGNAME}

#OPTIONS_DEFINE= EXAMPLES

#EXAMPLES_CMAKE_BOOL=	BUILD_EXAMPLES
#Provided in directory below, right after make (prior to install), so need more mechanism to build and install them
#x11-toolkits/irrlicht-minetest/work/irrlicht-master/examples

.include 

Playing with the built port a bit more, it seems there are some items in the configuration panels in minetest itself which may lead to a crash, but other than fiddling with any of those I do not see any major issues.  The executable also seems to be smaller than the former minetest even with the same options ticked, so either those options do nothing in the dev version or a bit of bloat was removed.  One other thing, after I had to rebuild both due to moving these dev port directories into my home, and a minor issue with gitup caused by branch names on github, I found that a few details were not as perfected.  The CMAKE_SOURCE_PATH=${WRKDIR}/irrlicht-master or WRKSRC=${WRKDIR}/irrlicht-master lines needed to be added after too much trial-and-error and documentation chasing.  I also realized that there are conditional lines in any pkg-plist which relate to the options of the Makefile.  Any lines which have %%OPTION%% prefix will only be in effect when that OPTION is chosen in the configuration when it is built.  I am fairly certain that aside from the glaring issue of grabbing a master.zip file direct from github, though using wget since it doesn't seem to work automatically with the make process, and then revising the distinfo (make makesum) after, both which still need to be fixed if possible, this endeavor seems to finally actually complete.  Since my philosophy to expose things to the user, which allows them to make their own choices even if bad, and my methods are different than the maintainer, I will keep this Makefile as my own private project.  It may not ever be adopted as is, officially, although anyone might still be able to use it since I am making it available here.

Since all but the automated fetch of distribution source functions pretty well, this is the part I need to iron out.  This is much more of a challenge than it should be.  As usual, documentation gives some vaguely specific examples which of course are not near enough to what I seem to need.  That means there is likely room for improvement in the porter's handbook.  The portlint and portfmt tools are helpful to make a reasonably coherent and consistent Makefile.  I use them at the very least because I have not edited thousands nor constructed my own script for doing so, and do not usually know the exact order of items in the Makefile.  Since both ports need to be obtained similarly, once I solved it for one port I could adapt the same changes to the other one.  As I have finally completed the entire porting of minetest-dev and irrlicht-minetest (irrlichtMt) and created some github repos for them, if you so choose you can try them out as well.

I am not a port maintainer and although I may have based my Makefiles upon prior works, these are different, unique, and likely never to be official in their format or style or technique.  Use them as you choose, the risk is yours regardless of whether they seem safe and effective on my system I can do no more than suggest caveat emptor for both and all.  I will attempt to keep both updated nearly as frequently as I discover new commits.

Repo urls:

Anyone who tried the minetest-dev Makefile immediately after it was initially provided by my repo may have had a fetch issue.  This, oddly, was caused by the subdirectory for the distinfo file not being named minetest-dev.  This has now been corrected, and updated to the April 5th commit (see the distversion which means github 2021 April 5th), the pkg-plist also adjusted since some tests are now eliminated by upstream it seems.  Please note that until I can figure out some way for those distinfo version strings to be synchronized between minetest-dev and irrlicht-minetest, that if minetest-dev is updated, then you should update irrlichtMt also.

I have just corrected another oversight.  If you had built both ports there should have been no adverse effect, the devel version of minetest would seek and find libIrrlichtMt, but the minetest-dev Makefile had the former libIrrlicht as a dependency and so would not automatically cause it to be built.  The repo has been updated to fix this, the included Makefile has been updated for this blog post.  Future updates to the repo will not be updated here unless to correct any fundamental flaw as has been done previously.  If you wish to view the most current Makefile, please visit the appropriate repo.

Saturday, February 20, 2021

make doesn't config

Clearly something is broken but I do not know precisely how or exactly what.  All that I do know is that when I try to configure a port, by going to that port directory, such as for minetest, or use the command as below,

make -C /usr/ports/games/minetest config

all I get is this.

===> Options unchanged

I am not aware of any of the myriad of changes I have ever made to my system which would result in such a bizarre error.  My extensive make.conf permits me the ability to adjust options but it is a far more tedious method, especially since I must first look at the Makefile or freshports.org to parse out the possible options.

Prior to this recent very strange issue, I had another, which I may have partially resolved more by avoiding certain ports than by curing the weird dependency issue.  Yes, for surely the second time my system claims a vast number of dependencies which are inaccurate.  Previously it was rust which somehow gained the excess dependents and now it is openjdk7 which has remained wrong even with kernel and world update, and various attempts to solve the issue.  My seeming quasi-solution was to discover by close monitoring, which port was the first of the series which suddenly required openjdk7.  I also gathered the list of ports which failed when openjdk7 itself failed to build and by failing made it very easy to see all the dependents.  I then tweaked the option config for each of the ports in turn, and in the process also discovered that for ages I have had kerberos installed but never used.  The initial lynchpin was apr.  The additional peculiarity is that the dependency issue seems to somehow very strangely be limited to poudriere bulk port builds as individual semi-automated make builds seem to be immune in some way while even after succeeding outside of poudriere, within its jail the dependency issue remained.

So it is very likely that this whole dependency issue (attempts to repair it) is what provoked some other modification to my system which has finally broken my ability to configure ports the normal way within the ports tree.

I could say "the fun part about.." but I'm not sure this is really fun as it is rather frustrating and there doesn't seem to be any documentation about how to extricate my system from this pickle.  What is needed to be able to configure a port?  There is no such list, no steps to enable, nothing.  The same goes for my prior dependency issue, there is no tool or method to solve it or to reset the mess to get things working properly again.  Lucky for you, if I ever solve it for myself there will be this blog post to reference if you somehow manage to accidentally follow in my footsteps.

I cannot be certain yet if anything regarding the dependency issue has changed, but I discovered that I can obtain an index file by make -C /usr/ports fetchindex though when I attempted this it failed due I suspect to ssl or cert issues.  I simply used the url with fetch and adjusted for no ssl.  The file was obtained in bzip2 format so I unpacked it.  I used my recert alias which is set to make -C /usr/ports/security/ca_root_nss reinstall clean to update my local certs after.

Since I can survive tediously without the ability to adjust port configs the usual way, I am rebuilding all my ports with poudriere.  It seems that I may have squashed the openjdk7 dependency issue afterall, as there have not yet been 1200 skipped ports due to openjdk7 failing to build, thus proving it.  I could be wrong, but the series of skipped ports usually appeared near the beginning of the over 2000 port bulk build.  Once that finishes and the installed packages are updated/installed, I can resume beating my head against the 'make config' wall.

How about I list the things I know that I did to possibly resolve the dependency issue?  Maybe some or all of it caused the present issue.  In approximate order mostly:

  • removed the /var/db/ports directory
  • reinstalled as many ports as would successfully build (though my script iterated a list):
    make -C /usr/ports/port/origin install clean
  • erased the /var/db/pkg files: FreeBSD.meta, local.sqlite, poudriere.meta, repo-FreeBSD.sqlite, repo-poudriere.sqlite
  • removed the /usr/ports/INDEX-12 file
  1. reinstalled pkg
    make -C /usr/ports/ports-mgmt/pkg deinstall reinstall clean
  2. (rebootstrapped pkg)
    pkg bootstrap -f
  3. attempted to find missing dependencies
    pkg check -Ba
  4. re-created the poudriere repo:
    pkg repo /usr/local/poudriere/data/packages/13amd64-default
  5. updated /usr/src, rebuilt and reinstalled kernel and world
  6. updated the poudriere 13amd64 jail
  7. re-created the poudriere repo:
    pkg repo /usr/local/poudriere/data/packages/13amd64-default
  8. copied a fresh /etc/pkg.conf from /etc/pkg.conf.sample and revised it to match my former revised pkg.conf

I keep thinking (now) that the one thing I have not yet touched is also directly related to make, the /etc/make.conf but if it had some sort of syntax error surely it would be noticed, caught automatically by shell or make itself.  Once my latest round of poudriere bulk port builds are finished, I can stash the extensive make.conf and see if that solves the configuration issue.  The make.conf is copied to an appropriately named poudriere make.conf file name, so it could affect both methods of build somehow.  However, as well as I can remember, outside of the poudriere jail ports did not have inordinate dependence upon openjdk7.  Stashing the make.conf did not solve the issue.

Finally, I managed to type the right search terms which found an old FreeBSD forum post that helped solve my issue.

make -C /usr/ports/ports-mgmt/dialog4ports install clean

Exactly why ports-mgmt/dialog4ports is not a dependency somewhere, or automatically installed by make config in any port directory, or at least mentioned in man ports is a complete mystery to me.  Instead, it appears that I am blind, below is a subsection of man 7 ports.

     The following targets will be run automatically by each proceeding target
     in order.  That is, build will be run (if necessary) by install, and so
     on all the way to fetch.  Usually, you will only use the install target.

     config         Configure OPTIONS for this port using dialog4ports(1).

     fetch          Fetch all of the files needed to build this port from the
                    sites listed in MASTER_SITES and PATCH_SITES.  See
                    FETCH_CMD, MASTER_SITE_OVERRIDE and MASTER_SITE_BACKUP.

     checksum       Verify that the fetched distfile's checksum matches the
                    one the port was tested against.  If the distfile's
                    checksum does not match, it also fetches the distfiles
                    which are missing or failed the checksum calculation.
                    Defining NO_CHECKSUM will skip this step.

     depends        Install (or compile if only compilation is necessary) any
                    dependencies of the current port.  When called by the
                    extract or fetch targets, this is run in piecemeal as
                    fetch-depends, build-depends, etc.  Defining NO_DEPENDS
                    will skip this step.

     extract        Expand the distfile into a work directory.

     patch          Apply any patches that are necessary for the port.

     configure      Configure the port.  Some ports will ask you questions
                    during this stage.  See INTERACTIVE and BATCH.

     build          Build the port.  This is the same as calling the all
                    target.

     install        Install the port and register it with the package system.
                    This is all you really need to do.

     The following targets are not run during the normal install process.

     showconfig           Display OPTIONS config for this port.

     showconfig-recursive
                          Display OPTIONS config for this port and all its
                          dependencies.

     rmconfig             Remove OPTIONS config for this port.

     rmconfig-recursive   Remove OPTIONS config for this port and all its
                          dependencies.

     config-conditional   Skip the ports which have already had their OPTIONS
                          configured.

     config-recursive     Configure OPTIONS for this port and all its
                          dependencies using dialog4ports(1).

I would strongly recommend looking at the rest of the manpage, as you may discover other interesting capabilities as yet unknown.  In particular from the manpage for ports: did you know about showconfig or config-conditional?

Sunday, February 7, 2021

Proving an update to a port maintainer

Sometimes a port can be updated but it becomes overlooked by the maintainer.  You can update it yourself, even use the port framework to facilitate the process, but its better to also let the maintainer know of your success.  Remember that I mentioned exploring bluefish editor for work on this blog, and later more firmly deciding it would be the tool for further updates.  It turns out that bluefish was last updated on November first last year, which means it has been about three months but that the most recent version was released on November fifth!  Since I am using it, and the most recent version fixes a bug that causes a crash (which I may have encountered a number of times already), I decided to see if I could update it.

The first step, is as root, to change to that port directory to look at the Makefile, to see if it will be a simple adjustment to the version number, then change it to match that new version.

# Created by: Koop Mast <einekoai@chello.nl>
# $FreeBSD$

PORTNAME=       bluefish
PORTVERSION=    2.2.11
CATEGORIES=     www editors
MASTER_SITES=   http://www.bennewitz.com/bluefish/stable/source/ \
                http://bluefish.mrball.net/stable/source/

MAINTAINER=     woodsb02@FreeBSD.org
COMMENT=        HTML editor designed for the experienced web designer

There is no port epoch and no oddness with either the master site or anything else that might need to be adjusted, so we can change that portversion to 2.2.12 and on to the next step.  In the directory for the port there are a number of files, common to most other ports in the tree.  The two that we will need to re-create are distinfo and pkg-plist.

.                ..               distinfo         Makefile         pkg-descr        pkg-message      pkg-plist

The distinfo file keeps track of the hash of the tarball and some other things which will not be the same for the new tarball.

TIMESTAMP = 1604208681
SHA256 (bluefish-2.2.11.tar.bz2) = 454c877fc1dbddfcc65cc7ddaa3c5ceb17bc46e216baf7878f09dbf1dabdc2ff
SIZE (bluefish-2.2.11.tar.bz2) = 4181242

In the past I believe there was an easy way too, but back then when I created the distinfo file myself, I did it manually which is a bit of effort compared to the alternative.  First we need to hide (or remove but I prefer hide) so simply rename it to something like distinfo-hid or distinfo-2.2.11.  The next two steps are automated and simple:

make fetch make makesum

The fetch operation will use the information in the Makefile to obtain the tarball without questions, the makesum command uses the Makefile and the tarball it obtained to calculate the checksum, grab the timestamp, and check the filesize, which is all saved in a fresh distinfo in the current directory (that contains the Makefile).  As you can see below, it is entirely different than the old distinfo.

TIMESTAMP = 1612677197
SHA256 (bluefish-2.2.12.tar.bz2) = 0df9905ba2c601cd767fa53e147969e9c90bc0cc4c005c4011c150b248979e6a
SIZE (bluefish-2.2.12.tar.bz2) = 4180228

Now we have two choices.  If you use poudriere we can use the testport function after copying the distinfo to the appropriate poudriere port directory configured for builds.  I will skip ahead here to show you the output when I ran

poudriere testport -o www/bluefish -j 12amd64

because although it is an easy fix, I presently accomplish it outside the poudriere port directory as a regular build but with a new command which is your second choice.   If you build as usual using the updated Makefile and distinfo, assuming you already have an older bluefish installed you'll not see the error message as from poudriere:

gmake[1]: Leaving directory '/wrkdirs/usr/ports/www/bluefish/work/bluefish-2.2.12'
====> Compressing man pages (compress-man)
===========================================================================
====> Running Q/A tests (stage-qa)
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%DATADIR%%/lipsum/__init__.py
Error: Missing: %%DATADIR%%/lipsum/data/dictionary.txt
Error: Missing: %%DATADIR%%/lipsum/data/lipsum.xml
Error: Missing: %%DATADIR%%/lipsum/data/sample.txt
===> Error: Plist issues found.
*** Error code 1

Stop.
make: stopped in /usr/ports/www/bluefish
=>> Error: check-plist failures detected
build of www/bluefish | bluefish-2.2.12 ended at Sun Feb  7 01:08:48 CST 2021
build time: 00:03:08
!!! build failure encountered !!!
[00:03:27] Error: Build failed in phase: check-plist
[00:03:27] Cleaning up
12amd64-default: removed
12amd64-default-n: removed
[00:03:27] Unmounting file systems

So then, we know that the step we missed was to create the new pkg-plist but how is that done?  Maybe you went direct to poudriere but if not, and you didn't stop when it warned you that bluefish was already installed and explained what to do about it, you will need to create the stage directory inside the work directory again.   We do a simple make then once that completes with no attempt to install or do anything else because it was just that one word, make, we follow it with another simple command.

make makeplist >> pkg-plist

The file is quite large, and the first line is a reminder that we need to verify what the automation gave us.  We can do two other things, we can compare this new pkg-plist file to the old one, and note the message we have from the poudriere testport build.

/you/have/to/check/what/makeplist/gives/you
bin/bluefish
lib/bluefish/about.so
lib/bluefish/charmap.so
lib/bluefish/entities.so
lib/bluefish/htmlbar.so
lib/bluefish/infbrowser.so
lib/bluefish/snippets.so
lib/bluefish/zencoding.so
man/man1/bluefish.1.gz
share/appdata/bluefish.appdata.xml
share/applications/bluefish.desktop
%%DATADIR%%/bflang/JQuery.bfinc
%%DATADIR%%/bflang/ada.bflang2
%%DATADIR%%/bflang/all-html.bfinc
%%DATADIR%%/bflang/all-html5.bfinc
%%DATADIR%%/bflang/all-javascript.bfinc
%%DATADIR%%/bflang/all-php.bfinc
%%DATADIR%%/bflang/all-vbscript.bfinc
%%DATADIR%%/bflang/asp-vbscript.bflang2
%%DATADIR%%/bflang/asp.bflang2
%%DATADIR%%/bflang/bflang2.bflang2
%%DATADIR%%/bflang/c.bflang2
%%DATADIR%%/bflang/cfml.bflang2
%%DATADIR%%/bflang/chuck.bflang2
%%DATADIR%%/bflang/clojure.bflang2
%%DATADIR%%/bflang/cpp.bflang2
%%DATADIR%%/bflang/css-rules.bfinc
%%DATADIR%%/bflang/css-selectors.bfinc
%%DATADIR%%/bflang/css.bflang2
%%DATADIR%%/bflang/d.bflang2
%%DATADIR%%/bflang/diff.bflang2
%%DATADIR%%/bflang/go.bflang2
%%DATADIR%%/bflang/highlighter.bflang2
%%DATADIR%%/bflang/html.bflang2
%%DATADIR%%/bflang/html5.bflang2
%%DATADIR%%/bflang/java.bflang2
%%DATADIR%%/bflang/javascript.bflang2
%%DATADIR%%/bflang/json.bflang2
%%DATADIR%%/bflang/jsp.bflang2
%%DATADIR%%/bflang/latex.bflang2
%%DATADIR%%/bflang/lua.bflang2
%%DATADIR%%/bflang/mediawiki.bflang2
%%DATADIR%%/bflang/nsis.bflang2
%%DATADIR%%/bflang/octave.bflang2
%%DATADIR%%/bflang/pascal.bflang2
%%DATADIR%%/bflang/perl.bflang2
%%DATADIR%%/bflang/php.bflang2
%%DATADIR%%/bflang/po.bflang2
%%DATADIR%%/bflang/processing.bflang2
%%DATADIR%%/bflang/python.bflang2
%%DATADIR%%/bflang/r.bflang2
%%DATADIR%%/bflang/ruby.bflang2
%%DATADIR%%/bflang/sass.bflang2
%%DATADIR%%/bflang/scheme.bflang2
%%DATADIR%%/bflang/shell.bflang2
%%DATADIR%%/bflang/smarty.bflang2
%%DATADIR%%/bflang/sql.bflang2
%%DATADIR%%/bflang/svg.bflang2
%%DATADIR%%/bflang/text.bflang2
%%DATADIR%%/bflang/vala.bflang2
%%DATADIR%%/bflang/vbscript.bflang2
%%DATADIR%%/bflang/wordpress.bfinc
%%DATADIR%%/bflang/wordpress.bflang2
%%DATADIR%%/bflang/xhtml.bflang2
%%DATADIR%%/bflang/xml.bflang2
%%DATADIR%%/bflang/xslt.bflang2
%%DATADIR%%/bflib/bflib_DocBook_4_5.xml.gz
%%DATADIR%%/bflib/bflib_DocBook_5_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Basic.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Full.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Tiny.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Frameset.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Strict.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Transitional.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_W3C.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_1.xml.gz
%%DATADIR%%/bflib/bflib_css2.xml.gz
%%DATADIR%%/bflib/bflib_dom.xml.gz
%%DATADIR%%/bflib/bflib_php4.xml.gz
%%DATADIR%%/bflib/bflib_php5.xml.gz
%%DATADIR%%/bflib/bflib_php5_with_examples.xml.gz
%%DATADIR%%/bflib/bflib_python_2.3.xml.gz
%%DATADIR%%/bflib/bflib_xhtml.xml.gz
%%DATADIR%%/bluefish_splash.png
%%DATADIR%%/colorprofiles/Dark_theme
%%DATADIR%%/colorprofiles/Light_theme
%%DATADIR%%/css_decompressor
%%DATADIR%%/cssmin.py
%%DATADIR%%/default_accelmap
%%DATADIR%%/encodings
%%DATADIR%%/jsbeautifier/__init__.py
%%DATADIR%%/jsbeautifier/__version__.py
%%DATADIR%%/jsbeautifier/unpackers/__init__.py
%%DATADIR%%/jsbeautifier/unpackers/evalbased.py
%%DATADIR%%/jsbeautifier/unpackers/javascriptobfuscator.py
%%DATADIR%%/jsbeautifier/unpackers/myobfuscate.py
%%DATADIR%%/jsbeautifier/unpackers/packer.py
%%DATADIR%%/jsbeautifier/unpackers/urlencode.py
%%DATADIR%%/jsbeautify
%%DATADIR%%/jsmin.py
%%DATADIR%%/lorem-ipsum-generator
%%DATADIR%%/plugins/htmlbar/ui/htmlbar_menu_ui.xml
%%DATADIR%%/plugins/zencoding/__init__.py
%%DATADIR%%/plugins/zencoding/actions/__init__.py
%%DATADIR%%/plugins/zencoding/actions/basic.py
%%DATADIR%%/plugins/zencoding/actions/token.py
%%DATADIR%%/plugins/zencoding/actions/traverse.py
%%DATADIR%%/plugins/zencoding/filters/__init__.py
%%DATADIR%%/plugins/zencoding/filters/comment.py
%%DATADIR%%/plugins/zencoding/filters/css.py
%%DATADIR%%/plugins/zencoding/filters/escape.py
%%DATADIR%%/plugins/zencoding/filters/format-css.py
%%DATADIR%%/plugins/zencoding/filters/format.py
%%DATADIR%%/plugins/zencoding/filters/haml.py
%%DATADIR%%/plugins/zencoding/filters/html.py
%%DATADIR%%/plugins/zencoding/filters/single-line.py
%%DATADIR%%/plugins/zencoding/filters/trim.py
%%DATADIR%%/plugins/zencoding/filters/xsl.py
%%DATADIR%%/plugins/zencoding/html_matcher.py
%%DATADIR%%/plugins/zencoding/interface/__init__.py
%%DATADIR%%/plugins/zencoding/interface/editor.py
%%DATADIR%%/plugins/zencoding/interface/file.py
%%DATADIR%%/plugins/zencoding/parser/__init__.py
%%DATADIR%%/plugins/zencoding/parser/abbreviation.py
%%DATADIR%%/plugins/zencoding/parser/css.py
%%DATADIR%%/plugins/zencoding/parser/utils.py
%%DATADIR%%/plugins/zencoding/parser/xml.py
%%DATADIR%%/plugins/zencoding/resources.py
%%DATADIR%%/plugins/zencoding/utils.py
%%DATADIR%%/plugins/zencoding/zen_settings.py
%%DATADIR%%/snippets
%%DATADIR%%/templates/C_header
%%DATADIR%%/templates/C_header_GPL
%%DATADIR%%/templates/HTML_5
%%DATADIR%%/templates/PHP
%%DATADIR%%/templates/XHTML_1.0
%%DATADIR%%/ui/bluefish_menu_ui.xml
%%PORTDOCS%%%%DOCSDIR%%/bflang/sample.bflang2
share/icons/hicolor/128x128/apps/bluefish.png
share/icons/hicolor/128x128/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/16x16/apps/bluefish.png
share/icons/hicolor/16x16/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/192x192/apps/bluefish.png
share/icons/hicolor/192x192/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/22x22/apps/bluefish.png
share/icons/hicolor/22x22/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/256x256/apps/bluefish.png
share/icons/hicolor/256x256/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/32x32/apps/bluefish.png
share/icons/hicolor/32x32/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/36x36/apps/bluefish.png
share/icons/hicolor/36x36/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/48x48/apps/bluefish.png
share/icons/hicolor/48x48/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/512x512/apps/bluefish.png
share/icons/hicolor/512x512/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/64x64/apps/bluefish.png
share/icons/hicolor/64x64/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/72x72/apps/bluefish.png
share/icons/hicolor/72x72/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/96x96/apps/bluefish.png
share/icons/hicolor/96x96/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/scalable/apps/bluefish-icon.svg
share/icons/hicolor/scalable/mimetypes/bluefish-project.svg
share/locale/ar/LC_MESSAGES/bluefish.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/bg/LC_MESSAGES/bluefish.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ca/LC_MESSAGES/bluefish.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/cs/LC_MESSAGES/bluefish.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/da/LC_MESSAGES/bluefish.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/de/LC_MESSAGES/bluefish.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/el/LC_MESSAGES/bluefish.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/en/LC_MESSAGES/bluefish.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/es/LC_MESSAGES/bluefish.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/eu/LC_MESSAGES/bluefish.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fa/LC_MESSAGES/bluefish.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fi/LC_MESSAGES/bluefish.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fr/LC_MESSAGES/bluefish.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/gl/LC_MESSAGES/bluefish.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/hu/LC_MESSAGES/bluefish.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/it/LC_MESSAGES/bluefish.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ja/LC_MESSAGES/bluefish.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ko/LC_MESSAGES/bluefish.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nb/LC_MESSAGES/bluefish.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nl/LC_MESSAGES/bluefish.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nn/LC_MESSAGES/bluefish.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pl/LC_MESSAGES/bluefish.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt/LC_MESSAGES/bluefish.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt_BR/LC_MESSAGES/bluefish.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ro/LC_MESSAGES/bluefish.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ru/LC_MESSAGES/bluefish.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sk/LC_MESSAGES/bluefish.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sr/LC_MESSAGES/bluefish.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sv/LC_MESSAGES/bluefish.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ta/LC_MESSAGES/bluefish.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/tr/LC_MESSAGES/bluefish.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/uk/LC_MESSAGES/bluefish.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/zh_CN/LC_MESSAGES/bluefish.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/zh_TW/LC_MESSAGES/bluefish.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/mime/packages/bluefish.xml
share/pixmaps/application-x-bluefish-project.png
share/pixmaps/bluefish.png
share/xml/bluefish/2.0/bflang2.rng
share/xml/bluefish/catalog.xml

If we run a diff -y old-pkg-plist new-pkg-plist we can see what is different, and it appears that we really need to make just one small adjustment.

bin/bluefish								bin/bluefish
lib/bluefish/about.so							lib/bluefish/about.so
%%GTK3%%lib/bluefish/charmap.so					|       lib/bluefish/charmap.so
lib/bluefish/entities.so						lib/bluefish/entities.so
lib/bluefish/htmlbar.so							lib/bluefish/htmlbar.so
lib/bluefish/infbrowser.so						lib/bluefish/infbrowser.so
lib/bluefish/snippets.so						lib/bluefish/snippets.so
lib/bluefish/zencoding.so						lib/bluefish/zencoding.so
man/man1/bluefish.1.gz							man/man1/bluefish.1.gz
share/appdata/bluefish.appdata.xml					share/appdata/bluefish.appdata.xml
share/applications/bluefish.desktop					share/applications/bluefish.desktop
%%DATADIR%%/bflang/JQuery.bfinc						%%DATADIR%%/bflang/JQuery.bfinc
%%DATADIR%%/bflang/ada.bflang2						%%DATADIR%%/bflang/ada.bflang2
%%DATADIR%%/bflang/all-html.bfinc					%%DATADIR%%/bflang/all-html.bfinc
%%DATADIR%%/bflang/all-html5.bfinc					%%DATADIR%%/bflang/all-html5.bfinc
%%DATADIR%%/bflang/all-javascript.bfinc					%%DATADIR%%/bflang/all-javascript.bfinc
%%DATADIR%%/bflang/all-php.bfinc					%%DATADIR%%/bflang/all-php.bfinc
%%DATADIR%%/bflang/all-vbscript.bfinc					%%DATADIR%%/bflang/all-vbscript.bfinc
%%DATADIR%%/bflang/asp-vbscript.bflang2					%%DATADIR%%/bflang/asp-vbscript.bflang2
%%DATADIR%%/bflang/asp.bflang2						%%DATADIR%%/bflang/asp.bflang2
%%DATADIR%%/bflang/bflang2.bflang2					%%DATADIR%%/bflang/bflang2.bflang2
%%DATADIR%%/bflang/c.bflang2						%%DATADIR%%/bflang/c.bflang2
%%DATADIR%%/bflang/cfml.bflang2						%%DATADIR%%/bflang/cfml.bflang2
%%DATADIR%%/bflang/chuck.bflang2					%%DATADIR%%/bflang/chuck.bflang2
%%DATADIR%%/bflang/clojure.bflang2					%%DATADIR%%/bflang/clojure.bflang2
%%DATADIR%%/bflang/cpp.bflang2						%%DATADIR%%/bflang/cpp.bflang2
%%DATADIR%%/bflang/css-rules.bfinc					%%DATADIR%%/bflang/css-rules.bfinc
%%DATADIR%%/bflang/css-selectors.bfinc					%%DATADIR%%/bflang/css-selectors.bfinc
%%DATADIR%%/bflang/css.bflang2						%%DATADIR%%/bflang/css.bflang2
%%DATADIR%%/bflang/d.bflang2						%%DATADIR%%/bflang/d.bflang2
%%DATADIR%%/bflang/diff.bflang2						%%DATADIR%%/bflang/diff.bflang2
%%DATADIR%%/bflang/go.bflang2						%%DATADIR%%/bflang/go.bflang2
%%DATADIR%%/bflang/highlighter.bflang2					%%DATADIR%%/bflang/highlighter.bflang2
%%DATADIR%%/bflang/html.bflang2						%%DATADIR%%/bflang/html.bflang2
%%DATADIR%%/bflang/html5.bflang2					%%DATADIR%%/bflang/html5.bflang2
%%DATADIR%%/bflang/java.bflang2						%%DATADIR%%/bflang/java.bflang2
%%DATADIR%%/bflang/javascript.bflang2					%%DATADIR%%/bflang/javascript.bflang2
%%DATADIR%%/bflang/json.bflang2						%%DATADIR%%/bflang/json.bflang2
%%DATADIR%%/bflang/jsp.bflang2						%%DATADIR%%/bflang/jsp.bflang2
%%DATADIR%%/bflang/latex.bflang2					%%DATADIR%%/bflang/latex.bflang2
%%DATADIR%%/bflang/lua.bflang2						%%DATADIR%%/bflang/lua.bflang2
%%DATADIR%%/bflang/mediawiki.bflang2					%%DATADIR%%/bflang/mediawiki.bflang2
%%DATADIR%%/bflang/nsis.bflang2						%%DATADIR%%/bflang/nsis.bflang2
%%DATADIR%%/bflang/octave.bflang2					%%DATADIR%%/bflang/octave.bflang2
%%DATADIR%%/bflang/pascal.bflang2					%%DATADIR%%/bflang/pascal.bflang2
%%DATADIR%%/bflang/perl.bflang2						%%DATADIR%%/bflang/perl.bflang2
%%DATADIR%%/bflang/php.bflang2						%%DATADIR%%/bflang/php.bflang2
%%DATADIR%%/bflang/po.bflang2						%%DATADIR%%/bflang/po.bflang2
%%DATADIR%%/bflang/processing.bflang2					%%DATADIR%%/bflang/processing.bflang2
%%DATADIR%%/bflang/python.bflang2					%%DATADIR%%/bflang/python.bflang2
%%DATADIR%%/bflang/r.bflang2						%%DATADIR%%/bflang/r.bflang2
%%DATADIR%%/bflang/ruby.bflang2						%%DATADIR%%/bflang/ruby.bflang2
%%DATADIR%%/bflang/sass.bflang2						%%DATADIR%%/bflang/sass.bflang2
%%DATADIR%%/bflang/scheme.bflang2					%%DATADIR%%/bflang/scheme.bflang2
%%DATADIR%%/bflang/shell.bflang2					%%DATADIR%%/bflang/shell.bflang2
%%DATADIR%%/bflang/smarty.bflang2					%%DATADIR%%/bflang/smarty.bflang2
%%DATADIR%%/bflang/sql.bflang2						%%DATADIR%%/bflang/sql.bflang2
%%DATADIR%%/bflang/svg.bflang2						%%DATADIR%%/bflang/svg.bflang2
%%DATADIR%%/bflang/text.bflang2						%%DATADIR%%/bflang/text.bflang2
%%DATADIR%%/bflang/vala.bflang2						%%DATADIR%%/bflang/vala.bflang2
%%DATADIR%%/bflang/vbscript.bflang2					%%DATADIR%%/bflang/vbscript.bflang2
%%DATADIR%%/bflang/wordpress.bfinc					%%DATADIR%%/bflang/wordpress.bfinc
%%DATADIR%%/bflang/wordpress.bflang2					%%DATADIR%%/bflang/wordpress.bflang2
%%DATADIR%%/bflang/xhtml.bflang2					%%DATADIR%%/bflang/xhtml.bflang2
%%DATADIR%%/bflang/xml.bflang2						%%DATADIR%%/bflang/xml.bflang2
%%DATADIR%%/bflang/xslt.bflang2						%%DATADIR%%/bflang/xslt.bflang2
%%DATADIR%%/bflib/bflib_DocBook_4_5.xml.gz				%%DATADIR%%/bflib/bflib_DocBook_4_5.xml.gz
%%DATADIR%%/bflib/bflib_DocBook_5_0.xml.gz				%%DATADIR%%/bflib/bflib_DocBook_5_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_0.xml.gz					%%DATADIR%%/bflib/bflib_SVG_1_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Basic.xml.gz				%%DATADIR%%/bflib/bflib_SVG_1_1_Basic.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Full.xml.gz				%%DATADIR%%/bflib/bflib_SVG_1_1_Full.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Tiny.xml.gz				%%DATADIR%%/bflib/bflib_SVG_1_1_Tiny.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Frameset.xml.gz			%%DATADIR%%/bflib/bflib_XHTML_1_0_Frameset.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Strict.xml.gz				%%DATADIR%%/bflib/bflib_XHTML_1_0_Strict.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Transitional.xml.gz			%%DATADIR%%/bflib/bflib_XHTML_1_0_Transitional.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_W3C.xml.gz				%%DATADIR%%/bflib/bflib_XHTML_1_0_W3C.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_1.xml.gz				%%DATADIR%%/bflib/bflib_XHTML_1_1.xml.gz
%%DATADIR%%/bflib/bflib_css2.xml.gz					%%DATADIR%%/bflib/bflib_css2.xml.gz
%%DATADIR%%/bflib/bflib_dom.xml.gz					%%DATADIR%%/bflib/bflib_dom.xml.gz
%%DATADIR%%/bflib/bflib_php4.xml.gz					%%DATADIR%%/bflib/bflib_php4.xml.gz
%%DATADIR%%/bflib/bflib_php5.xml.gz					%%DATADIR%%/bflib/bflib_php5.xml.gz
%%DATADIR%%/bflib/bflib_php5_with_examples.xml.gz			%%DATADIR%%/bflib/bflib_php5_with_examples.xml.gz
%%DATADIR%%/bflib/bflib_python_2.3.xml.gz				%%DATADIR%%/bflib/bflib_python_2.3.xml.gz
%%DATADIR%%/bflib/bflib_xhtml.xml.gz					%%DATADIR%%/bflib/bflib_xhtml.xml.gz
%%DATADIR%%/bluefish_splash.png						%%DATADIR%%/bluefish_splash.png
%%DATADIR%%/colorprofiles/Dark_theme					%%DATADIR%%/colorprofiles/Dark_theme
%%DATADIR%%/colorprofiles/Light_theme					%%DATADIR%%/colorprofiles/Light_theme
%%DATADIR%%/css_decompressor						%%DATADIR%%/css_decompressor
%%DATADIR%%/cssmin.py							%%DATADIR%%/cssmin.py
%%DATADIR%%/default_accelmap						%%DATADIR%%/default_accelmap
%%DATADIR%%/encodings							%%DATADIR%%/encodings
%%DATADIR%%/jsbeautifier/__init__.py					%%DATADIR%%/jsbeautifier/__init__.py
%%DATADIR%%/jsbeautifier/__version__.py					%%DATADIR%%/jsbeautifier/__version__.py
%%DATADIR%%/jsbeautifier/unpackers/__init__.py				%%DATADIR%%/jsbeautifier/unpackers/__init__.py
%%DATADIR%%/jsbeautifier/unpackers/evalbased.py				%%DATADIR%%/jsbeautifier/unpackers/evalbased.py
%%DATADIR%%/jsbeautifier/unpackers/javascriptobfuscator.p		%%DATADIR%%/jsbeautifier/unpackers/javascriptobfuscator.p
%%DATADIR%%/jsbeautifier/unpackers/myobfuscate.py			%%DATADIR%%/jsbeautifier/unpackers/myobfuscate.py
%%DATADIR%%/jsbeautifier/unpackers/packer.py				%%DATADIR%%/jsbeautifier/unpackers/packer.py
%%DATADIR%%/jsbeautifier/unpackers/urlencode.py				%%DATADIR%%/jsbeautifier/unpackers/urlencode.py
%%DATADIR%%/jsbeautify							%%DATADIR%%/jsbeautify
%%DATADIR%%/jsmin.py							%%DATADIR%%/jsmin.py
%%DATADIR%%/lipsum/__init__.py					<
%%DATADIR%%/lipsum/data/dictionary.txt				<
%%DATADIR%%/lipsum/data/lipsum.xml				<
%%DATADIR%%/lipsum/data/sample.txt				<
%%DATADIR%%/lorem-ipsum-generator					%%DATADIR%%/lorem-ipsum-generator
%%DATADIR%%/plugins/htmlbar/ui/htmlbar_menu_ui.xml			%%DATADIR%%/plugins/htmlbar/ui/htmlbar_menu_ui.xml
%%DATADIR%%/plugins/zencoding/__init__.py				%%DATADIR%%/plugins/zencoding/__init__.py
%%DATADIR%%/plugins/zencoding/actions/__init__.py			%%DATADIR%%/plugins/zencoding/actions/__init__.py
%%DATADIR%%/plugins/zencoding/actions/basic.py				%%DATADIR%%/plugins/zencoding/actions/basic.py
%%DATADIR%%/plugins/zencoding/actions/token.py				%%DATADIR%%/plugins/zencoding/actions/token.py
%%DATADIR%%/plugins/zencoding/actions/traverse.py			%%DATADIR%%/plugins/zencoding/actions/traverse.py
%%DATADIR%%/plugins/zencoding/filters/__init__.py			%%DATADIR%%/plugins/zencoding/filters/__init__.py
%%DATADIR%%/plugins/zencoding/filters/comment.py			%%DATADIR%%/plugins/zencoding/filters/comment.py
%%DATADIR%%/plugins/zencoding/filters/css.py				%%DATADIR%%/plugins/zencoding/filters/css.py
%%DATADIR%%/plugins/zencoding/filters/escape.py				%%DATADIR%%/plugins/zencoding/filters/escape.py
%%DATADIR%%/plugins/zencoding/filters/format-css.py			%%DATADIR%%/plugins/zencoding/filters/format-css.py
%%DATADIR%%/plugins/zencoding/filters/format.py				%%DATADIR%%/plugins/zencoding/filters/format.py
%%DATADIR%%/plugins/zencoding/filters/haml.py				%%DATADIR%%/plugins/zencoding/filters/haml.py
%%DATADIR%%/plugins/zencoding/filters/html.py				%%DATADIR%%/plugins/zencoding/filters/html.py
%%DATADIR%%/plugins/zencoding/filters/single-line.py			%%DATADIR%%/plugins/zencoding/filters/single-line.py
%%DATADIR%%/plugins/zencoding/filters/trim.py				%%DATADIR%%/plugins/zencoding/filters/trim.py
%%DATADIR%%/plugins/zencoding/filters/xsl.py				%%DATADIR%%/plugins/zencoding/filters/xsl.py
%%DATADIR%%/plugins/zencoding/html_matcher.py				%%DATADIR%%/plugins/zencoding/html_matcher.py
%%DATADIR%%/plugins/zencoding/interface/__init__.py			%%DATADIR%%/plugins/zencoding/interface/__init__.py
%%DATADIR%%/plugins/zencoding/interface/editor.py			%%DATADIR%%/plugins/zencoding/interface/editor.py
%%DATADIR%%/plugins/zencoding/interface/file.py				%%DATADIR%%/plugins/zencoding/interface/file.py
%%DATADIR%%/plugins/zencoding/parser/__init__.py			%%DATADIR%%/plugins/zencoding/parser/__init__.py
%%DATADIR%%/plugins/zencoding/parser/abbreviation.py			%%DATADIR%%/plugins/zencoding/parser/abbreviation.py
%%DATADIR%%/plugins/zencoding/parser/css.py				%%DATADIR%%/plugins/zencoding/parser/css.py
%%DATADIR%%/plugins/zencoding/parser/utils.py				%%DATADIR%%/plugins/zencoding/parser/utils.py
%%DATADIR%%/plugins/zencoding/parser/xml.py				%%DATADIR%%/plugins/zencoding/parser/xml.py
%%DATADIR%%/plugins/zencoding/resources.py				%%DATADIR%%/plugins/zencoding/resources.py
%%DATADIR%%/plugins/zencoding/utils.py					%%DATADIR%%/plugins/zencoding/utils.py
%%DATADIR%%/plugins/zencoding/zen_settings.py				%%DATADIR%%/plugins/zencoding/zen_settings.py
%%DATADIR%%/snippets							%%DATADIR%%/snippets
%%DATADIR%%/templates/C_header						%%DATADIR%%/templates/C_header
%%DATADIR%%/templates/C_header_GPL					%%DATADIR%%/templates/C_header_GPL
%%DATADIR%%/templates/HTML_5						%%DATADIR%%/templates/HTML_5
%%DATADIR%%/templates/PHP						%%DATADIR%%/templates/PHP
%%DATADIR%%/templates/XHTML_1.0						%%DATADIR%%/templates/XHTML_1.0
%%DATADIR%%/ui/bluefish_menu_ui.xml					%%DATADIR%%/ui/bluefish_menu_ui.xml
%%PORTDOCS%%%%DOCSDIR%%/bflang/sample.bflang2				%%PORTDOCS%%%%DOCSDIR%%/bflang/sample.bflang2
share/icons/hicolor/128x128/apps/bluefish.png				share/icons/hicolor/128x128/apps/bluefish.png
share/icons/hicolor/128x128/mimetypes/application-x-bluef		share/icons/hicolor/128x128/mimetypes/application-x-bluef
share/icons/hicolor/16x16/apps/bluefish.png				share/icons/hicolor/16x16/apps/bluefish.png
share/icons/hicolor/16x16/mimetypes/application-x-bluefis		share/icons/hicolor/16x16/mimetypes/application-x-bluefis
share/icons/hicolor/192x192/apps/bluefish.png				share/icons/hicolor/192x192/apps/bluefish.png
share/icons/hicolor/192x192/mimetypes/application-x-bluef		share/icons/hicolor/192x192/mimetypes/application-x-bluef
share/icons/hicolor/22x22/apps/bluefish.png				share/icons/hicolor/22x22/apps/bluefish.png
share/icons/hicolor/22x22/mimetypes/application-x-bluefis		share/icons/hicolor/22x22/mimetypes/application-x-bluefis
share/icons/hicolor/256x256/apps/bluefish.png				share/icons/hicolor/256x256/apps/bluefish.png
share/icons/hicolor/256x256/mimetypes/application-x-bluef		share/icons/hicolor/256x256/mimetypes/application-x-bluef
share/icons/hicolor/32x32/apps/bluefish.png				share/icons/hicolor/32x32/apps/bluefish.png
share/icons/hicolor/32x32/mimetypes/application-x-bluefis		share/icons/hicolor/32x32/mimetypes/application-x-bluefis
share/icons/hicolor/36x36/apps/bluefish.png				share/icons/hicolor/36x36/apps/bluefish.png
share/icons/hicolor/36x36/mimetypes/application-x-bluefis		share/icons/hicolor/36x36/mimetypes/application-x-bluefis
share/icons/hicolor/48x48/apps/bluefish.png				share/icons/hicolor/48x48/apps/bluefish.png
share/icons/hicolor/48x48/mimetypes/application-x-bluefis		share/icons/hicolor/48x48/mimetypes/application-x-bluefis
share/icons/hicolor/512x512/apps/bluefish.png				share/icons/hicolor/512x512/apps/bluefish.png
share/icons/hicolor/512x512/mimetypes/application-x-bluef		share/icons/hicolor/512x512/mimetypes/application-x-bluef
share/icons/hicolor/64x64/apps/bluefish.png				share/icons/hicolor/64x64/apps/bluefish.png
share/icons/hicolor/64x64/mimetypes/application-x-bluefis		share/icons/hicolor/64x64/mimetypes/application-x-bluefis
share/icons/hicolor/72x72/apps/bluefish.png				share/icons/hicolor/72x72/apps/bluefish.png
share/icons/hicolor/72x72/mimetypes/application-x-bluefis		share/icons/hicolor/72x72/mimetypes/application-x-bluefis
share/icons/hicolor/96x96/apps/bluefish.png				share/icons/hicolor/96x96/apps/bluefish.png
share/icons/hicolor/96x96/mimetypes/application-x-bluefis		share/icons/hicolor/96x96/mimetypes/application-x-bluefis
share/icons/hicolor/scalable/apps/bluefish-icon.svg			share/icons/hicolor/scalable/apps/bluefish-icon.svg
share/icons/hicolor/scalable/mimetypes/bluefish-project.s		share/icons/hicolor/scalable/mimetypes/bluefish-project.s
share/locale/ar/LC_MESSAGES/bluefish.mo					share/locale/ar/LC_MESSAGES/bluefish.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ar/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ar/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/bg/LC_MESSAGES/bluefish.mo					share/locale/bg/LC_MESSAGES/bluefish.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/bg/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/bg/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ca/LC_MESSAGES/bluefish.mo					share/locale/ca/LC_MESSAGES/bluefish.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ca/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ca/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/cs/LC_MESSAGES/bluefish.mo					share/locale/cs/LC_MESSAGES/bluefish.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/cs/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/cs/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/da/LC_MESSAGES/bluefish.mo					share/locale/da/LC_MESSAGES/bluefish.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/da/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/da/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/de/LC_MESSAGES/bluefish.mo					share/locale/de/LC_MESSAGES/bluefish.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/de/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/de/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/el/LC_MESSAGES/bluefish.mo					share/locale/el/LC_MESSAGES/bluefish.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/el/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/el/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/en/LC_MESSAGES/bluefish.mo					share/locale/en/LC_MESSAGES/bluefish.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/en/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/en/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/es/LC_MESSAGES/bluefish.mo					share/locale/es/LC_MESSAGES/bluefish.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/es/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/es/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/eu/LC_MESSAGES/bluefish.mo					share/locale/eu/LC_MESSAGES/bluefish.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/eu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/eu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fa/LC_MESSAGES/bluefish.mo					share/locale/fa/LC_MESSAGES/bluefish.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/fa/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/fa/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fi/LC_MESSAGES/bluefish.mo					share/locale/fi/LC_MESSAGES/bluefish.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/fi/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/fi/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fr/LC_MESSAGES/bluefish.mo					share/locale/fr/LC_MESSAGES/bluefish.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/fr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/fr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/gl/LC_MESSAGES/bluefish.mo					share/locale/gl/LC_MESSAGES/bluefish.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/gl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/gl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/hu/LC_MESSAGES/bluefish.mo					share/locale/hu/LC_MESSAGES/bluefish.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/hu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/hu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/it/LC_MESSAGES/bluefish.mo					share/locale/it/LC_MESSAGES/bluefish.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/it/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/it/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ja/LC_MESSAGES/bluefish.mo					share/locale/ja/LC_MESSAGES/bluefish.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ja/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ja/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ko/LC_MESSAGES/bluefish.mo					share/locale/ko/LC_MESSAGES/bluefish.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ko/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ko/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nb/LC_MESSAGES/bluefish.mo					share/locale/nb/LC_MESSAGES/bluefish.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/nb/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/nb/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nl/LC_MESSAGES/bluefish.mo					share/locale/nl/LC_MESSAGES/bluefish.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/nl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/nl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nn/LC_MESSAGES/bluefish.mo					share/locale/nn/LC_MESSAGES/bluefish.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/nn/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/nn/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pl/LC_MESSAGES/bluefish.mo					share/locale/pl/LC_MESSAGES/bluefish.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/pl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/pl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt/LC_MESSAGES/bluefish.mo					share/locale/pt/LC_MESSAGES/bluefish.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/pt/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/pt/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt_BR/LC_MESSAGES/bluefish.mo				share/locale/pt_BR/LC_MESSAGES/bluefish.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_charmap.mo		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_entities.m		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_entities.m
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_htmlbar.mo		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_infbrowser		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_infbrowser
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_snippets.m		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_snippets.m
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_zencoding.		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_zencoding.
share/locale/ro/LC_MESSAGES/bluefish.mo					share/locale/ro/LC_MESSAGES/bluefish.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ro/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ro/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ru/LC_MESSAGES/bluefish.mo					share/locale/ru/LC_MESSAGES/bluefish.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ru/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ru/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sk/LC_MESSAGES/bluefish.mo					share/locale/sk/LC_MESSAGES/bluefish.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/sk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/sk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sr/LC_MESSAGES/bluefish.mo					share/locale/sr/LC_MESSAGES/bluefish.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/sr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/sr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sv/LC_MESSAGES/bluefish.mo					share/locale/sv/LC_MESSAGES/bluefish.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/sv/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/sv/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ta/LC_MESSAGES/bluefish.mo					share/locale/ta/LC_MESSAGES/bluefish.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ta/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ta/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/tr/LC_MESSAGES/bluefish.mo					share/locale/tr/LC_MESSAGES/bluefish.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/tr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/tr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/uk/LC_MESSAGES/bluefish.mo					share/locale/uk/LC_MESSAGES/bluefish.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/uk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/uk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/zh_CN/LC_MESSAGES/bluefish.mo				share/locale/zh_CN/LC_MESSAGES/bluefish.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_charmap.mo		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_entities.m		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_entities.m
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_htmlbar.mo		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_infbrowser		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_infbrowser
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_snippets.m		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_snippets.m
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_zencoding.		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_zencoding.
share/locale/zh_TW/LC_MESSAGES/bluefish.mo				share/locale/zh_TW/LC_MESSAGES/bluefish.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_charmap.mo		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_entities.m		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_entities.m
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_htmlbar.mo		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_infbrowser		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_infbrowser
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_snippets.m		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_snippets.m
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_zencoding.		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_zencoding.
share/mime/packages/bluefish.xml					share/mime/packages/bluefish.xml
share/pixmaps/application-x-bluefish-project.png			share/pixmaps/application-x-bluefish-project.png
share/pixmaps/bluefish.png						share/pixmaps/bluefish.png
share/xml/bluefish/2.0/bflang2.rng					share/xml/bluefish/2.0/bflang2.rng
share/xml/bluefish/catalog.xml						share/xml/bluefish/catalog.xml

We can assume that the new build may not include some files, so for us, we can ignore that some files are missing in the list on the right, but what is more important is the third line.  This is a special variable relating to the gtk install directory, similar variables are mentioned in the porter's handbook under 8.5.  Automated Package List Creation.  Now that the pkg-plist is updated, along with the distinfo, we can build with poudriere testport or the normal build, as either make install clean or make reinstall clean depending on whether you still have the old bluefish installed.  How do we tell the port maintainer about our success and what should we include? We file an appropriate bug report and we attach or paste the contents of the output for

pkg info bluefish
bluefish-2.2.12
Name           : bluefish
Version        : 2.2.12
Installed on   : Sun Feb  7 07:26:34 2021 CST
Origin         : www/bluefish
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : editors www
Licenses       : GPLv3+
Maintainer     : woodsb02@FreeBSD.org
WWW            : http://bluefish.openoffice.nl/
Comment        : HTML editor designed for the experienced web designer
Options        :
        DEBUG          : off
        DOCS           : on
        GTK2           : off
        GTK3           : on
        TIDY           : on
Shared Libs required:
        libgdk-3.so.0
        libglib-2.0.so.0
        libgucharmap_2_90.so.7
        libgobject-2.0.so.0
        libpango-1.0.so.0
        libcairo.so.2
        libgtk-3.so.0
        libxml2.so.2
        libintl.so.8
        libcairo-gobject.so.2
        libatk-1.0.so.0
        libgmodule-2.0.so.0
        libgthread-2.0.so.0
        libenchant.so.1
        libgdk_pixbuf-2.0.so.0
        libpython3.7m.so.1.0
        libgio-2.0.so.0
        libpangocairo-1.0.so.0
Annotations    :
        FreeBSD_version: 1202504
        repo_type      : binary
        repository     : poudriere
Flat size      : 9.21MiB
Description    :
Bluefish is a powerful editor targeted towards programmers and web
developers, with many options to write websites, scripts and programming
code. Bluefish supports many programming and markup languages and has
many features, but is still a very fast and lightweight application.

WWW: http://bluefish.openoffice.nl/
The bug report all filled out.

I challenge you all to do the same process with any of your more favorite ports which you ever discover might be in need of an update.  If it is not such a simple effort, like my other attempt for enlightenment, you can beat on it a bit more to succeed, your mileage will vary, I cannot guess what you will run into.  However, if you eventually succeed, just as when it is simple, gather the information and submit a bug report.  You will need to make an account on the FreeBSD bugzilla site but you can certainly use freshports report bug icon freshports bug report icon for that port entry to get there.

The response can be quick.  I'm sure that the more work we do the more likely the maintainer will respond with an update in a fairly short timeframe.   As you can see, I've also gained some constructive criticism.   I was unaware of the svn diff function, but now that I know about it I can use it next time.   We know there will be a next time and you know about svn diff now too.  My word choice also lead to a minor misunderstanding, as we know that I generated both the pkg-plist and distinfo.  And nearly as quick as producing this blog post, we all have an updated bluefish to use from ports!

Frequently viewed this week