#!/bin/mkpkg # description: Ncurses XMPP client with OMEMO support # url: https://profanity-im.github.io/ name=profanity version=0.18.2 release=3 depends=(libstrophe ncurses glib curl readline sqlite libsignal-protocol-c libressl) makedeps=(meson) source=(https://github.com/profanity-im/profanity/releases/download/$version/$name-$version.tar.xz crypto.c crypto.h openssl-crypto.patch openssl-omemo-h.patch openssl-omemo-c.patch openssl-aesgcm-download.patch omemo-publish-options.patch) sha256sums=( "46964928742733fffcf8ca65d37ac0874c8ccd6270cbc065cb1013cee94e9e3b" "98d10f3d50e89d1f564a68ff38b02080449aa3bcb4d2bc83db0f2dae75eef007" "16f9e7ef3eeae11917e87eddad7705b296bad4cef0b30858d1a4f1e98463b71b" "626783ffe584a69a05341884f30dd3032348b65a164a3769d2d953c4f51a2efe" "3d38b7a7c720ab90e9eef6da343deab85dabc931fbf0216513b95bd91c20bc7d" "4d25a38d95b537b3d037f8f523a8d8fc2970b31691b91716e0b1385f5a9bf4a7" "7acb0733d32ad10e6cb2aff0d9ea22109f601ad0031ea36a9ed38a43f7bc50a2" "94c46b027928bc88c76ec3249f246e9e45760f518c39d1dae3d8ff4de0fd66b0" ) patch() { cd $name-$version # Replace gcrypt with openssl in meson build patch -p1 < $SRC/openssl-crypto.patch # Replace omemo crypto backend with OpenSSL implementation cp $SRC/crypto.c src/omemo/crypto.c cp $SRC/crypto.h src/omemo/crypto.h # Patch remaining gcrypt references patch -p1 < $SRC/openssl-omemo-h.patch patch -p1 < $SRC/openssl-omemo-c.patch patch -p1 < $SRC/openssl-aesgcm-download.patch # Publish OMEMO bundle and devicelist with publish-options even when the # server domain does not advertise them (the account's own PEP does) patch -p1 < $SRC/omemo-publish-options.patch } build() { cd $name-$version CC=clang CXX=clang++ meson setup build \ --prefix=/usr \ --mandir=/usr/share/man \ --buildtype=release \ -D omemo=enabled \ -D omemo-backend=libsignal meson compile -C build DESTDIR=$PKG meson install -C build } signify() { untrusted comment: public key RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3 } # vim: filetype=sh