| git.druid.rocks | index | druid520 | ports | ports/ | meta/ | mp/ | pkg.conf |
ports/meta/mp/pkg.conf
pkg_name="mp"
pkg_license="fmc"
pkg_ver="git"
pkg_deps="%cc %perl mk"
# del.sh deliberately never removes $MP_PREFIX/bin/{mp,mp.*,MP} or
# libexec/mp/mpx (see its own comment) -- mp's manifest-driven remove:
# cleanup (mplib::resolve::clean_manifest_files) would otherwise delete
# exactly those files anyway once del.sh exits, defeating the whole
# point. every other port can trust the default; this one can't.
pkg_manifest_cleanup="no"
# docs: optional -- only needed to render mp's own docs/ (mk . d / make d)
# to html, not to build or run mp itself.
#
# every core command, plus a master "commands" switch over all of them
# together, plus a master "extensions" switch and one flag per extension
# currently in plugins/, is ALSO its own USE flag -- each marked "+" (on
# by default, see mplib::portformat::enabled_use) so a fresh, unconfigured
# install still gets the complete toolchain exactly as before this
# existed. "mp use mp -install" (say) excludes just that one command from
# add.sh's own copy loop the next time mp itself gets reinstalled/
# updated; "mp use mp -commands" excludes every core command regardless
# of its own flag (symmetric with "-extensions" for plugins); "mp use mp
# -ext_lint" excludes just that one plugin, others unaffected. pkg.conf's
# own grammar has no line continuation, so this has to be one (long)
# physical line.
#
# real risk, not just a hypothetical: "install"/"remove"/"reinstall"/
# "update"/"use" are what you'd need to EVER recover from a mistake here
# via mp's own normal commands -- excluding one of those (especially on
# the ONLY copy of mp you have) leaves nothing left to run "mp use mp
# +thatflag" with, del.sh already never removes mp's own files for the
# identical reason. "commands" is the SAME risk amplified to all 29 at
# once. "hook" is a different kind of risk, not to yourself but to every
# OTHER port: any phase script anywhere that fires its own custom event
# via $MP_HOOK (mplib::hooks::port_env_args always points it at mp.hook,
# unconditionally) will fail outright the moment that file isn't there.
# "mp rescue" (hardcoded into mp.pl's own dispatch, not a separate
# mp.<command> -- so no USE flag can ever exclude it) is the actual way
# out of all of these: rebuilds mp from source and reinstalls everything
# unconditionally, then clears any USE= override on "mp" itself. this is
# deliberately not special-cased or blocked beyond that; "every core
# command is a USE flag" was asked for literally, and mp doesn't get to
# decide that's wrong. if you're not sure, don't touch install/remove/
# reinstall/update/use/hook/commands.
pkg_use="docs:btf +commands +clean +conflicts +dryrun +export +fetch +files +hold +hook +info +install +list +manifest_clean +mask +owns +providers +prune +reinstall +remove +revdep +search +slots +sync +sysroot +tree +unhold +unmask +update +use +verify +version +why +extensions +ext_depcheck +ext_devtest +ext_doctor +ext_fetchcheck +ext_hello +ext_lint +ext_new"