diff options
author | Erich Eckner <erich.eckner.ext@bestsecret.com> | 2024-11-25 12:32:00 +0100 |
---|---|---|
committer | Erich Eckner <erich.eckner.ext@bestsecret.com> | 2024-11-25 12:32:00 +0100 |
commit | 4aa659c5a840e8d7bc6a730da83aa0bfb36ec50a (patch) | |
tree | 9fa5cfded0b9db9016f51f587d9bca2698b228b0 /teams-for-linux | |
parent | ca930806935a2a8040012b3822b0ad855010b285 (diff) | |
download | archlinuxewe-4aa659c5a840e8d7bc6a730da83aa0bfb36ec50a.tar.xz |
teams-for-linux: 1.11.3-4 -> 1.12.1-1
Diffstat (limited to 'teams-for-linux')
-rw-r--r-- | teams-for-linux/PKGBUILD | 130 |
1 files changed, 127 insertions, 3 deletions
diff --git a/teams-for-linux/PKGBUILD b/teams-for-linux/PKGBUILD index 78caa0ce2..01f90f22b 100644 --- a/teams-for-linux/PKGBUILD +++ b/teams-for-linux/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Ivelin Velkov <ivelin dot velkov at gmail dot com> pkgname=teams-for-linux -pkgver=1.11.3 -pkgrel=4 +pkgver=1.12.1 +pkgrel=1 pkgdesc="Unofficial Microsoft Teams client for Linux using Electron." arch=("aarch64" "armv7h" "i686" "x86_64") url="https://github.com/IsmaelMartinez/${pkgname}" @@ -45,7 +45,7 @@ source=( "${pkgname}-${pkgver}.tar.gz::https://github.com/IsmaelMartinez/${pkgname}/archive/v${pkgver}.tar.gz" "${pkgname}.desktop" ) -sha512sums=('da3003e05f93b5cee9249281464f498eb6cb2f124dd16682cc59911235e37d9dd7b87749f0a771921813bc8beda58bf3064a71ffc88e0c8a920303bc3d5508f4' +sha512sums=('93cf5c9c8f1fe162de74da308d3e219aa15b1d508d9d962f36a6af5dfcf9366a33585ad2d1af854afa397fbd59fae095bfd512496388c9aec240d39d2546fbb4' '3e80d0aaefe42644265bd379f2279912c9358b2ce5c5efcd9aa7c4c67a07841da77c0fabac87eb7837f3cd7f0e620ce322c8791ff61bd3729c343108bd5d5d61') build() { @@ -84,4 +84,128 @@ package() { install -Dm644 "${_file}" "${pkgdir}/usr/share/icons/hicolor/${_filename%.png}/apps/${pkgname}.png" done ln -sf "/opt/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}" +_patch_PKGBUILD +} +_patch_PKGBUILD() { +if printf '%s\n' "${arch[@]}" | grep -qvxF any; then + if [ -d "${pkgdir}/usr/lib" ]; then + provides=( + $( + { + printf '%s\n' "${provides[@]}" + find "${pkgdir}/usr/lib" \ + -name '*.so' -printf '%p\n' \ + | while read -r fn; do + if ! LC_ALL=C readelf -h "$fn" 2>/dev/null | grep -q '.*Type:.*DYN (Shared object file).*'; then + # no shared object + continue + fi + if ! LC_ALL=C readelf -d "$fn" 2>/dev/null | grep -q '.*Library soname: \[.*\].*'; then + # not versioned + continue + fi + printf '%s\n' "${fn##*/}" + done + } \ + | sort -u + ) + ) + fi +fi +if printf '%s\n' "${arch[@]}" | grep -qvxF any; then + if ! _errors=$( + diff <( + { + find "${pkgdir}" -type f -exec objdump -x {} \; 2>/dev/null \ + | sed ' + s/^\s*NEEDED\s\+\(\S\+\.so\)\(\.\S\+\)\?\s*$/\1/ + t + d + ' \ + | sort -u \ + | while read -r _lib; do + for _libdir in {${pkgdir},}/usr/lib*; do + [ -d "${_libdir}" ] || continue + [ -e "${_libdir}/${_lib}" ] \ + && printf '%s\n' "${_lib}" + done + done \ + | sort -u + for _libdir in "${pkgdir}/usr"/lib*; do + [ -d "${_libdir}" ] || continue + find "${_libdir}" -not -type d -name '*.so' -printf '%f\n%f\n' + done + } \ + | sort \ + | uniq -u \ + | while read -r _lib; do + if ! _pkg=$( + pacman -Qqo "/usr/lib/${_lib}" 2>/dev/null + ); then + >&2 printf 'WARNING: noone owns "%s"\n' "${_lib}" + printf '%s\n' "${_lib}" + continue + fi + if pacman -Qi "${_pkg}" \ + | sed ' + :a + $! N + s/\n\s\+/ / + ta + P + D + ' \ + | sed -n ' + s/^Provides\s*:\s*// + T + y/ /\n/ + p + ' \ + | sed -n ' + /^$/d + s/=.*$// + T + /\.so$/p + ' \ + | grep -qxF "${_lib}"; then + printf '%s\n' "${_lib}" + else + printf '%s\n' "${_pkg}" + fi + done \ + | sed ' + s/[<>]\?=.*$// + /^python$/d + /^$/d + ' \ + | sort -u + ) <( + eval 'printf '"'"'%s\n'"'"' "${_pinned_dependencies[@]}" "${_pinned_dependencies_'"${CARCH}"'[@]}" "${_pinned_dependencies_'"${OS}"'[@]}"' \ + | sed ' + s/[<>]\?=.*$// + /^python$/d + /^$/d + ' \ + | sort -u + ) + ); then + { + printf 'There are discrepancies between the _pinned_dependencies and the linked libraries in %s'"'"'s %s():\n' \ + "${pkgbase:-${pkgname}}" \ + "${FUNCNAME[1]}" + printf '%s\n' "${_errors}" \ + | sed ' + s/^</actual / + t + s/^>/claimed / + t + d + ' \ + | sort -k1,1 + } \ + | tee -a /tmp/pin-dependencies.log + return 1 + fi +fi +: } |