summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/macports/README.md26
-rw-r--r--plugins/macports/macports.plugin.zsh40
2 files changed, 65 insertions, 1 deletions
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
+}