summaryrefslogtreecommitdiff
path: root/opt/profanity/MAKEPKG
blob: 7148ad1a0f2276c994b97b7058e17e7b8777c3cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/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