summaryrefslogtreecommitdiff
path: root/pcr/elogind/PKGBUILD
blob: 794047066346543cb696b9770bddef615a48188b (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
72
73
# Maintainer (Artix): artoo <artoo@cromnix.org>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>

pkgbase=elogind
pkgname=('elogind' 'libelogind')
pkgver=235.2
pkgrel=3
pkgdesc="The systemd project's logind, extracted to a standalone package"
arch=('i686' 'x86_64' 'armv7h')
url="https://github.com/elogind/elogind"
license=('GPL' 'LGPL2.1')
makedepends=('intltool' 'libtool' 'gperf' 'gtk-doc' 'polkit-elogind' 'dbus-elogind' 'eudev' 'libseccomp' 'meson')
options=('!libtool')
source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/elogind/elogind/archive/v${pkgver}.tar.gz"
        "protect-user-XDG_RUNTIME_DIR.patch"
        "cgroup-hierarchy.patch::https://github.com/elogind/elogind/commit/003ece760231aba0c661e2390dfd11075d72a8da.patch")
sha256sums=('db5d7362ab7fd74a1ea863247f90f3b821cdb3e4433ba049a2fdcf5bf62b0fb9'
            '4b04eb4bd87a6b0b15290f87b475d87920d5060ee7bf1583a2320f8f7f4c7658'
            '652107d87b35bf78c43ac1610fa431467cf7b582ca6e38b53854286ea72dc983')

prepare() {
    cd ${pkgbase}-${pkgver}
    patch -Np1 -i ${srcdir}/protect-user-XDG_RUNTIME_DIR.patch
    patch -Np1 -i ${srcdir}/cgroup-hierarchy.patch
}

build() {
    local meson_options=(
        -Drootlibdir=/usr/lib
        -Drootlibexecdir=/usr/lib/elogind
        -Ddbuspolicydir=/usr/share/dbus-1/system.d
        -Ddefault-hierarchy=hybrid
        -Dcgroup-controller=openrc
        -Dman=false
#         -Ddefault-kill-user-processes=false
    )

    arch-meson "$pkgbase-${pkgver}" build "${meson_options[@]}"

    ninja -C build
}

package_elogind() {
    pkgdesc="The systemd project's logind, extracted to a standalone package"
    provides=("elogind=${pkgver}")
    depends=('acl' 'pam' 'dbus-elogind' 'eudev' 'libseccomp' 'libelogind')
    conflicts=('systemd-sysvcompat' 'consolekit' 'pm-utils')
#    replaces=('consolekit' 'pm-utils')
    optdepends=('elogind-openrc: elogind initscript'
                'polkit-elogind: polkit support')
    backup=('etc/elogind/logind.conf')
    install=elogind.install

    DESTDIR="$pkgdir" ninja -C build install

    mkdir ${srcdir}/_libelogind
    mv -v ${pkgdir}/usr/lib/pkgconfig ${srcdir}/_libelogind
    mv -v ${pkgdir}/usr/include/ ${srcdir}/_libelogind
    mv -v ${pkgdir}/usr/lib/libelogind*.so* ${srcdir}/_libelogind
}

package_libelogind(){
    pkgdesc="elogind client libraries"
    provides=('libelogind.so' "libelogind=${pkgver}")
    depends=('libcap' 'libeudev')

    cd ${pkgbase}-${pkgver}

    install -dm755 ${pkgdir}/usr/lib
    mv ${srcdir}/_libelogind/include ${pkgdir}/usr
    mv ${srcdir}/_libelogind/pkgconfig ${pkgdir}/usr/lib
    mv ${srcdir}/_libelogind/libelogind*.so* ${pkgdir}/usr/lib
}