# Maintainer: exponential # Contributor: The one with the braid (AUR) _pkgname=fluffychat pkgname="${_pkgname}-bin" pkgver="1.25.0" _gccmajorver="14" _libcmajorver="6" _libstdmajorver="6" _libcver="2.40-7" _gccver="14.2.0-17" _glibver="2.83.3-2" _libmountver="2.40.4-4" pkgrel=0 pkgdesc="Cute and easy to use matrix messenger. Secure and decentralized." arch=('amd64') url="https://fluffychat.im/" license=('AGPL3') makedepends=('patchelf') depends=('libgtk-3-0' 'libjsoncpp25' 'libsecret-1-0' 'libolm3' 'xdg-user-dirs' 'zenity') provides=("${_pkgname}") conflicts=("${_pkgname}") #https://packages.debian.org/sid/amd64/libc6/download #https://packages.debian.org/sid/amd64/libstdc++6/download #https://packages.debian.org/sid/amd64/libglib2.0-0t64/download #https://packages.debian.org/sid/amd64/libmount1/download source=("fluffychat-${pkgver}.tar.gz::https://github.com/krille-chan/fluffychat/releases/download/v${pkgver}/fluffychat-linux-x64.tar.gz" "http://deb.debian.org/debian/pool/main/g/glibc/libc${_libcmajorver}_${_libcver}_amd64.deb" "http://deb.debian.org/debian/pool/main/g/gcc-${_gccmajorver}/libstdc++${_libstdmajorver}_${_gccver}_amd64.deb" "http://deb.debian.org/debian/pool/main/g/glib2.0/libglib2.0-0t64_${_glibver}_amd64.deb" "http://deb.debian.org/debian/pool/main/u/util-linux/libmount1_${_libmountver}_amd64.deb") noextract=("${_pkgname}-${pkgver}.tar.gz" "libc${_libcmajorver}_${_libcver}_amd64.deb" "libstdc++${_libstdmajorver}_${_gccver}_amd64.deb" "libglib2.0-0t64_${_glibver}_amd64.deb" "libmount1_${_libmountver}_amd64.deb") sha256sums=('c1f3b102c4af1f1758d0c3e8c2b425f92e176a23c30a26073bb6b0f9020e0430' '5072445cef9e11283bd5aa9ceb3debdc737baf0c93ae77949096ae6fc47a2c96' '93be9f44d060a421d3434fd6d529b3bcb0e672de405062e96f91f92258b0a137' '4ae318f151a0dfe3cefc93483b6d0638dac8c307ed7a2f7d2d95136f48275421' '3436bf8795f4b3fd9948224da5748a89903668624bcace5f6cd07b134ac23b05') prepare() { cd "${srcdir}" # extract archive mkdir -p "${_pkgname}-${pkgver}" bsdtar -xf "${_pkgname}-${pkgver}.tar.gz" -C "${_pkgname}-${pkgver}" # extract debs dpkg-deb -x "libc${_libcmajorver}_${_libcver}_amd64.deb" "libc${_libcmajorver}_${_libcver}_amd64" dpkg-deb -x "libstdc++${_libstdmajorver}_${_gccver}_amd64.deb" "libstdc++${_libstdmajorver}_${_gccver}_amd64" dpkg-deb -x "libglib2.0-0t64_${_glibver}_amd64.deb" "libglib2.0-0t64_${_glibver}_amd64" dpkg-deb -x "libmount1_${_libmountver}_amd64.deb" "libmount1_${_libmountver}_amd64" # set to bundled dynamic linker patchelf --set-interpreter /usr/lib/${_pkgname}/ld-linux-x86-64.so.2 "${_pkgname}-${pkgver}/${_pkgname}" } package() { cd "${srcdir}/${_pkgname}-${pkgver}" # creating directories install -dm755 ${pkgdir}/usr/{bin,lib,libexec/${_pkgname},share/{pixmaps,applications,doc/${_pkgname}}} # install install -m755 "${srcdir}/${_pkgname}-${pkgver}/${_pkgname}" "${pkgdir}/usr/libexec/${_pkgname}/" cp -r "${srcdir}/${_pkgname}-${pkgver}/data" "${pkgdir}/usr/share/${_pkgname}" cp -r "${srcdir}/${_pkgname}-${pkgver}/lib" "${pkgdir}/usr/lib/${_pkgname}" # extra libs cp -ra ../"libc${_libcmajorver}_${_libcver}_amd64/usr/lib/x86_64-linux-gnu/"* "${pkgdir}/usr/lib/${_pkgname}" cp -ra ../"libstdc++${_libstdmajorver}_${_gccver}_amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6"* "${pkgdir}/usr/lib/${_pkgname}" cp -ra ../"libglib2.0-0t64_${_glibver}_amd64/usr/lib/x86_64-linux-gnu/"* "${pkgdir}/usr/lib/${_pkgname}" cp -ra ../"libmount1_${_libmountver}_amd64/usr/lib/x86_64-linux-gnu/"* "${pkgdir}/usr/lib/${_pkgname}" # linking # ln -s /usr/libexec/${_pkgname}/${_pkgname} ${pkgdir}/usr/bin/${_pkgname} ln -s /usr/share/${_pkgname} ${pkgdir}/usr/libexec/${_pkgname}/data ln -s /usr/lib/${_pkgname} ${pkgdir}/usr/libexec/${_pkgname}/lib ln -s /usr/share/${_pkgname}/flutter_assets/assets/favicon.png ${pkgdir}/usr/share/pixmaps/${_pkgname}.png ln -s /usr/share/${_pkgname}/flutter_assets/NOTICES.Z ${pkgdir}/usr/share/doc/${_pkgname}/NOTICES.Z # wrapper echo '#!/bin/sh set -eu export LD_PRELOAD="/usr/lib/fluffychat/libmount.so.1" exec /usr/libexec/fluffychat/fluffychat "$@"' > "$pkgdir/usr/bin/${_pkgname}" chmod 755 "$pkgdir/usr/bin/${_pkgname}" # desktop entry cat > ${pkgdir}/usr/share/applications/${_pkgname}.desktop << EOF [Desktop Entry] Type=Application Version=${pkgver} Name=FluffyChat Comment=Cute and easy to use (matrix) messenger. Secure and decentralized. Exec=${_pkgname} Icon=${_pkgname} Terminal=false StartupNotify=false Categories=Network;InstantMessaging;Chat; EOF } # vim: set sw=2 ts=2 et: