#!/bin/bash

# ABSTRACT: Shows all packages depending on a specific regex

source "${LIBDIR}/core-functions.sh" || exit 1

[[ $# == 1 ]]  || die "Expected argument [atom] in: ${cmdname} [atom]"
set -euo pipefail

atom=$1;

shift
require_bin xargs sys-apps/findutils
require_bin qatom app-portage/portage-utils
require_bin qdepends app-portage/portage-utils
require_bin sed sys-apps/sed
require_bin sort sys-apps/coreutils

(
  for PHASE in "depend" "rdepend" "pdepend"; do
  einfo "revdep ${PHASE^^} scanning for ${atom}"
  qdepends --nocolor --${PHASE} --quiet --query "${atom}" |\
           xargs qdepends --nocolor --quiet -k SLOT | sed 's/: /:/'           |\
           xargs qatom --quiet --nocolor --format "%{CATEGORY}/%{PN}%[SLOT]"  |\
           sed -r 's|:([^/]*)/[^/]*|:\1|'       || ewarn "No matches in ${PHASE^^}"
  done
) | sort -u
# help: Invocation:
# help:   gentoo-perl installed-deps-regex [spec]
# help:
# help: Example:
# help:   gentoo-perl installed-deps-regex "dev-lang/perl:0/(5\.22|5\.24)="
# help:
# help: Outputs:
# help:   A list of all packages in Category/Package-Name:SLOT format
# help:   which have a dependency matching those specified.
