makedeb


fluffychat-bin 2.0.0-0


Cute and easy to use matrix messenger. Secure and decentralized.

Viewing /PKGBUILD.

View raw.

Click here to go back to the Git tree for fluffychat-bin.

# Maintainer: exponential <echo ZXhwb25lbnRpYWxtYXRyaXhAcHJvdG9ubWFpbC5jb20K | base64 -d>
# Contributor: The one with the braid (AUR) <the-one@with-the-braid.cf>

_pkgname=fluffychat
pkgname="${_pkgname}-bin"
pkgver="2.0.0"
_gccmajorver="14"
_libcmajorver="6"
_libstdmajorver="6"
_libcver="2.41-9"
_gccver="14.2.0-19"
_glibver="2.84.3-1"
_libmountver="2.41-5"
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=('894ea96b0b6db6a47542024f0fddddebefd3f14f5e7bb1eb9eed31c4eb1e9dee'
            '2c18d65a6c8ad6b9f1ede123d4d2ca1be303ec39b3b7209fcc91edcd76d45aff'
            'ab1fa05837aa7a92aae748fd07a18a35f7d18bb4a71c4724fe2bbf0e32089de0'
            'e24f4533ebc4568f6e88df25560aa2330d7f8899d526212824e3b3f7064aa5df'
            'cd9efc7addd2556062f6d148b502e38a64e08c0ab220806219cfffd865f0f6f6')

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"
  # patch binary/libs
  patchelf --set-interpreter /usr/lib/${_pkgname}/ld-linux-x86-64.so.2 "${_pkgname}-${pkgver}/${_pkgname}"
  patchelf --add-rpath /usr/lib/fluffychat "libglib2.0-0t64_${_glibver}_amd64/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0"
}

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 for LD_PRELOAD/LD_LIBRARY_PATH
  # comment out first link above if used
#  echo '#!/bin/sh

#set -e

#LD_LIBRARY_PATH
#export LD_PRELOAD="/usr/lib/fluffychat/libmount.so.1:$LD_PRELOAD"
#set -u
#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: