diff options
Diffstat (limited to 'pin-dependencies.PKGBUILDpatch')
-rw-r--r-- | pin-dependencies.PKGBUILDpatch | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/pin-dependencies.PKGBUILDpatch b/pin-dependencies.PKGBUILDpatch index a21ba059..54553a7d 100644 --- a/pin-dependencies.PKGBUILDpatch +++ b/pin-dependencies.PKGBUILDpatch @@ -1,33 +1,35 @@ -_depends=( - $( - { - printf '%s\n' "${depends[@]}" - find "${pkgdir}" -type f -exec objdump -x {} \; 2>/dev/null \ +if printf '%s\n' "${arch[@]}" | grep -qvxF any; then + _depends=( + $( + { + printf '%s\n' "${depends[@]}" + find "${pkgdir}" -type f -exec objdump -x {} \; 2>/dev/null \ + | sed ' + s/^\s*NEEDED\s\+\(\S\+\)\s*$/\1/ + t + d + ' \ + | sort -u \ + | while read -r _lib; do + pacman -Qqo "/usr/lib/${_lib}" 2>/dev/null || true + done \ + | sort -u \ + | xargs -r pacman -Q \ + | sed ' + s/ \([^-]\+\)-[^-]\+$/=\1/ + t + w /dev/stderr + d + ' + } \ | sed ' - s/^\s*NEEDED\s\+\(\S\+\)\s*$/\1/ - t - d + s/^\([^=[:space:]]\+\)\(=\(\S\+\)\)\?$/\0 \1 \3/ ' \ - | sort -u \ - | while read -r _lib; do - pacman -Qqo "/usr/lib/${_lib}" 2>/dev/null || true - done \ - | sort -u \ - | xargs -r pacman -Q \ - | sed ' - s/ \([^-]\+\)-[^-]\+$/=\1/ - t - w /dev/stderr - d - ' - } \ - | sed ' - s/^\([^=[:space:]]\+\)\(=\(\S\+\)\)\?$/\0 \1 \3/ - ' \ - | sort -k2,2 -k3Vr,3 \ - | cut -d' ' -f1,2 \ - | uniq -f1 \ - | cut -d' ' -f1 + | sort -k2,2 -k3Vr,3 \ + | cut -d' ' -f1,2 \ + | uniq -f1 \ + | cut -d' ' -f1 + ) ) -) -depends=("${_depends[@]}") + depends=("${_depends[@]}") +fi |