summaryrefslogtreecommitdiff
path: root/teams-for-linux
diff options
context:
space:
mode:
Diffstat (limited to 'teams-for-linux')
-rw-r--r--teams-for-linux/PKGBUILD130
1 files changed, 127 insertions, 3 deletions
diff --git a/teams-for-linux/PKGBUILD b/teams-for-linux/PKGBUILD
index 2e8207cf7..f731dc14c 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.9.0
-pkgrel=17
+pkgver=1.11.2
+pkgrel=1
pkgdesc="Unofficial Microsoft Teams client for Linux using Electron."
arch=("aarch64" "armv7h" "i686" "x86_64")
url="https://github.com/IsmaelMartinez/${pkgname}"
@@ -43,7 +43,7 @@ source=(
"${pkgname}-${pkgver}.tar.gz::https://github.com/IsmaelMartinez/${pkgname}/archive/v${pkgver}.tar.gz"
"${pkgname}.desktop"
)
-sha512sums=('e3da94be36a6b59cd4f6c4c36503c4a4c5fed61dc6ce6480693736c86258fae0a7ac720cdd28b941541f1adfd8cad858aea86fcb5b29f86131f26576d9604fff'
+sha512sums=('576788bfcb3533d4f66c9108e3db0665e5dcda2288b470936b1f38e6f3a718d50645b6d38c810d0dfb4b421b9f2d17034026dde8ae29f82f7a0f72624779e52a'
'3e80d0aaefe42644265bd379f2279912c9358b2ce5c5efcd9aa7c4c67a07841da77c0fabac87eb7837f3cd7f0e620ce322c8791ff61bd3729c343108bd5d5d61')
build() {
@@ -82,4 +82,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
+:
}