summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: e4260ba644e475928169db7bbc48517e6b608d20 (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
# Maintainer: pikl <me@pikl.uk>
pkgname=actual-server
pkgver=23.12.0
pkgrel=3
pkgdesc="Actual Budget Server"
arch=('any')
url="https://github.com/actualbudget/actual-server"
license=('MIT')
groups=()
depends=('yarn' 'nodejs')
makedepends=('git' 'gcc' 'make')
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=('!strip')
install=
changelog=
source=(
    "${pkgname}-${pkgver}.tar.gz::https://github.com/actualbudget/actual-server/archive/refs/tags/v${pkgver}.tar.gz"
    'actual-server.service'
    'sysusers'
    'tmpfiles'
    # Hack to work around .migrate file creation in project root
    # (/usr/share/webapps/actual-server) which is setup to be
    # read-only for actual user. This patch forces the file
    # creation in the /var/lib/actual directory.
    # See following issue upstream:
    # https://github.com/actualbudget/actual/issues/2011#issuecomment-1837295607
    'migrations.js.patch'
)
noextract=()
sha256sums=('da85dd0143c70690a66c5412fbd52b84b0f6479dc9a8f7b8dbb90728bc4e3d2d'
            '6d70d436bff95b6ca7ae270219a4288c81ccf119ad57158528fdda19585b2067'
            '4dfa4502df8d72212ccfb96cfc2509c9a1461f542adb38304af54097b30ca0d5'
            'cba6a5df66a42ced857822e1099be00f2e37ec800f29cbbfca7210020140291b'
            '2931be9c68a6028b3a3658cd05b092443dcd20d64f44d1d36f9704f2a1ca310e')

prepare() {

    cd "${srcdir}/${pkgname}-${pkgver}"
    patch -p0 -i "${srcdir}/migrations.js.patch"
}

build() {

    cd "${srcdir}/${pkgname}-${pkgver}"
    yarn config set enableTelemetry 0
    yarn install
}

package() {

    install -d -m 0755 "${pkgdir}/usr/share/webapps/actual-server"
    cd "${srcdir}/${pkgname}-${pkgver}"
    cp -r {.,}* "${pkgdir}/usr/share/webapps/actual-server"

    install -d -m 0750 "${pkgdir}/var/lib/actual"

    cd "${srcdir}"
    install -D -m 0644 sysusers "${pkgdir}/usr/lib/sysusers.d/actual-server.conf"
    install -D -m 0644 tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/actual-server.conf"
    install -D -m 0644 actual-server.service "${pkgdir}/usr/lib/systemd/system/actual-server.service"
}