PKGBUILD 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # Maintainer: David P. <megver83@parabola.nu>
  2. # Maintainer (Artix): artoo <artoo@artixlinux.org>
  3. pkgbase=elogind
  4. pkgname=('elogind' 'libelogind')
  5. pkgver=246.10
  6. pkgrel=7
  7. pkgdesc="The systemd project's logind, extracted to a standalone package"
  8. arch=('x86_64')
  9. arch+=('i686' 'armv7h')
  10. url="https://github.com/elogind/elogind"
  11. license=('GPL' 'LGPL2.1')
  12. makedepends=('acl' 'intltool' 'libtool' 'gperf' 'gtk-doc' 'polkit' 'dbus'
  13. 'libseccomp' 'meson' 'kexec-tools' 'openrc' 'libcap')
  14. options=('!libtool')
  15. source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/elogind/elogind/archive/v${pkgver}.tar.gz"
  16. dbus-exit.patch::https://github.com/pierre-labastie/elogind/commit/04d76bc0f087640bedc6ee52525529ccfdc6ae78.patch
  17. fix-p-opt.patch::https://github.com/njhanley/elogind/commit/850797eaf482d7f1ada051730eeeca53676ca43e.patch)
  18. sha256sums=('c490dc158c8f5bca8d00ecfcc7ad5af24d1c7b9e59990a0b3b1323996221a922'
  19. 'cccbbe6bf6603d81c307ad670994fe058ff630b37c218041c4ca877ef0486843'
  20. '5d39f9d9edd6fb0e9e93bae004ca47bb0973c7570c8dd840f98cda3348bddd7f')
  21. prepare() {
  22. cd ${pkgbase}-${pkgver}
  23. patch -Np 1 -i ../dbus-exit.patch
  24. patch -Np 1 -i ../fix-p-opt.patch
  25. }
  26. build() {
  27. local meson_options=(
  28. -Drootlibdir=/usr/lib
  29. -Drootlibexecdir=/usr/lib/elogind
  30. -Ddbuspolicydir=/usr/share/dbus-1/system.d
  31. -Ddocdir=/usr/share/doc/elogind
  32. -Ddefault-hierarchy=hybrid
  33. -Dcgroup-controller=openrc
  34. -Ddefault-kill-user-processes=false
  35. -Dman=true
  36. )
  37. arch-meson "$pkgbase-${pkgver}" build "${meson_options[@]}"
  38. meson compile -C build
  39. }
  40. check(){
  41. meson test -C build --print-errorlogs
  42. }
  43. package_elogind() {
  44. pkgdesc="The systemd project's logind, extracted to a standalone package"
  45. provides=('logind')
  46. depends=('acl' 'dbus' 'libseccomp' 'libelogind' 'kexec-tools' 'udev')
  47. optdepends=('polkit: polkit support')
  48. backup=('etc/elogind/logind.conf')
  49. # systemd compatibility
  50. provides+=("systemd=$pkgver")
  51. conflicts+=('systemd')
  52. DESTDIR="$pkgdir" meson install -C build
  53. ln -sfv libelogind.pc "${pkgdir}"/usr/lib/pkgconfig/libsystemd.pc
  54. install -dm755 "${srcdir}"/_libelogind
  55. mv -v "${pkgdir}"/usr/lib/libelogind*.so* "${srcdir}"/_libelogind
  56. install -d "${pkgdir}"/{etc,usr/lib}/elogind/{logind,sleep}.conf.d
  57. }
  58. package_libelogind(){
  59. pkgdesc="elogind client libraries"
  60. provides=('libelogind.so' 'liblogind')
  61. depends=('libcap' 'libudev')
  62. # libsystemd compatibility
  63. provides+=('libsystemd.so' "libsystemd=${pkgver}" "systemd-libs=${pkgver}")
  64. conflicts+=('libsystemd.so' 'libsystemd' 'systemd-libs')
  65. cd "${pkgbase}-${pkgver}"
  66. install -dm755 "${pkgdir}"/usr/lib
  67. mv "${srcdir}"/_libelogind/libelogind*.so* "${pkgdir}"/usr/lib
  68. #ln -sfv libelogind.so "${pkgdir}"/usr/lib/libsystemd.so
  69. ln -sfv libsystemd.so "${pkgdir}"/usr/lib/libsystemd.so.0
  70. # libsystemd compatibility
  71. # HACK: (re)install libelogind.so as libsystemd.so so their lib versions match
  72. install -m755 "${pkgdir}"/usr/lib/libelogind.so "${pkgdir}"/usr/lib/libsystemd.so
  73. }