diff --git a/plugins/macports/README.md b/plugins/macports/README.md index ded823f3f..09bd42df2 100644 --- a/plugins/macports/README.md +++ b/plugins/macports/README.md @@ -15,7 +15,33 @@ plugins=(... macports) |-------|------------------------------------|--------------------------------------------------------------| | pc | `sudo port clean --all installed` | Clean up intermediate installation files for installed ports | | pi | `sudo port install` | Install package given as argument | +| pli | `port livecheck installed` | Check for updates for installed ports | +| plm | `port-livecheck-maintainer` | Check for updates of ports mainained by the specified users | | psu | `sudo port selfupdate` | Update ports tree with MacPorts repository | | puni | `sudo port uninstall inactive` | Uninstall inactive ports | | puo | `sudo port upgrade outdated` | Upgrade ports with newer versions available | | pup | `psu && puo` | Update ports tree, then upgrade ports to newest versions | + +## Commands + +### port-livecheck-maintainer + +```text +Usage: + port-livecheck-maintainer + port-livecheck-maintainer (maintainer)+ + port-livecheck-maintainer -h|--help + +Check + +Options: + maintainer maintainer id + -h print this help message and exit +``` + +Checks whether updates are available for ports whose maintainer is the current +user, or any of a specified list of maintainer expressions. The current user +maintainer id is retrieved as follows: + +* The value of the `MACPORTS_MAINTAINER` variable, if set and not null. +* The value of the `USER` variable. diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh index d1fde30d4..d438057f9 100644 --- a/plugins/macports/macports.plugin.zsh +++ b/plugins/macports/macports.plugin.zsh @@ -1,6 +1,44 @@ alias pc="sudo port clean --all installed" alias pi="sudo port install" +alias pli="port livecheck installed" +alias plm="port-livecheck-maintainer" alias psu="sudo port selfupdate" alias puni="sudo port uninstall inactive" alias puo="sudo port upgrade outdated" -alias pup="psu && puo" +alias pup="sudo port selfupdate && sudo port upgrade outdated" + +port-livecheck-maintainer() { + (( ${+commands[port]} == 0 )) || { + print -- "port: not found" >&2 + return 1 + } + + local -a help_flag + zparseopts -D -E h=help_flag -help=help_flag + + (( ${#help_flag} )) && { + cat << EOF >&2 +Usage: + port-livecheck-maintainer + port-livecheck-maintainer (maintainer)+ + port-livecheck-maintainer -h|--help + +Check + +Options: + maintainer maintainer id + -h print this help message and exit +EOF + return 1 + } + + if (( $# == 0 )); then + local default=${MACPORTS_MAINTAINER:-${USER}} + port livecheck maintainer:${default} + return $? + fi + + for i in $@; do + port livecheck maintainer:${i} + done +}