summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: ab1568b0950e196f1f0a3e2201eed429422c03ea (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
# Maintainer: Martin Hoeher <martin@rpdev.net>
# Automatically released from https://gitlab.com/rpdev/opentodolist/-/pipelines/1123391654
pkgname=opentodolist
pkgver=3.47.0
pkgrel=1
pkgdesc="Maintain todo lists, notes and images in libraries, which can be synced via various services like NextCloud between your devices."
arch=('x86_64')
url="https://opentodolist.rpdev.net/"
license=('GPL')
depends=('qt6-base' 'qt6-quickcontrols2' 'qt6-remoteobjects' 'qt6-networkauth' 'libsecret' 'ttf-roboto' 'noto-fonts' 'qtkeychain-qt6')
makedepends=('git' 'cmake' 'ninja' 'qt6-tools')
provides=("${pkgname%}")
conflicts=("${pkgname%}")
source=("${pkgname}::git+https://gitlab.com/rpdev/opentodolist.git#commit=${pkgver}")
md5sums=('SKIP')

# Please refer to the 'USING VCS SOURCES' section of the PKGBUILD man page for
# a description of each element in the source array.

pkgver() {
        cd "$srcdir/${pkgname%}"
        release_build=yes
        if [ -n "$release_build" ]; then
            printf "${pkgver}"
        else
            printf "%s" "$(git describe --long --tags | cut -f1 -d'-')"
        fi
}

prepare() {
        cd "$srcdir/${pkgname%}"
        git submodule update --init --recursive
}

build() {
        cd "$srcdir/${pkgname%}"
        mkdir -p build
        cd build
        cmake \
                -GNinja \
                -DCMAKE_BUILD_TYPE=Release \
                -DCMAKE_INSTALL_PREFIX=/usr \
                -DOPENTODOLIST_USE_SYSTEM_QTKEYCHAIN=ON \
                -DOPENTODOLIST_USE_SYSTEM_KF_SYNTAX_HIGHLIGHTING=OFF \
                -DOPENTODOLIST_QT_VERSIONS=Qt6 \
                -DOPENTODOLIST_FORCE_STATIC_3RD_PARTY_LIBRARIES=ON \
                ..
        cmake --build .
}

check() {
        cd "$srcdir/${pkgname%}"
        cd build
        # Some unit tests are failing sometimes - this is due to multi-threading issues
        # where the test does not "wait in the right order" (kind of). Ideally, we'd fix
        # this, however, in order to avoid issues, retry the testing.
        # If the test fails three times, this is a clear sign that something IS broken.
        cmake --build . --target test || \
                cmake --build . --target test || \
                cmake --build . --target test
}

package() {
        cd "$srcdir/${pkgname%}"
        cd build
        DESTDIR="$pkgdir/" cmake --build . --target install
        rm -rf \
                $pkgdir/usr/include/ \
                $pkgdir/usr/lib/
}