summaryrefslogtreecommitdiff
path: root/plugins/macports
diff options
context:
space:
mode:
authorEnrico Maria Crisostomo <enrico.m.crisostomo@gmail.com>2021-12-28 20:10:15 +0100
committerGitHub <noreply@github.com>2021-12-28 20:10:15 +0100
commit69d0683a8cd3751178b2f7dc58126b50ed48e2ec (patch)
tree70b7324b9e37039330fe54c337ca3e396d411218 /plugins/macports
parent875e7c4077c08b6cf5547929d403f70a52836388 (diff)
downloadzsh-69d0683a8cd3751178b2f7dc58126b50ed48e2ec.tar.gz
zsh-69d0683a8cd3751178b2f7dc58126b50ed48e2ec.tar.bz2
zsh-69d0683a8cd3751178b2f7dc58126b50ed48e2ec.zip
feat(macports): add commands to get list of updated ports (#8698)
Diffstat (limited to 'plugins/macports')
-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
+}