summaryrefslogtreecommitdiff
path: root/opt/dbus/MAKEPKG
diff options
context:
space:
mode:
Diffstat (limited to 'opt/dbus/MAKEPKG')
-rw-r--r--opt/dbus/MAKEPKG119
1 files changed, 119 insertions, 0 deletions
diff --git a/opt/dbus/MAKEPKG b/opt/dbus/MAKEPKG
new file mode 100644
index 0000000..7eb3816
--- /dev/null
+++ b/opt/dbus/MAKEPKG
@@ -0,0 +1,119 @@
+#!/bin/mkpkg
+# description: D-Bus message bus system
+# url: https://freedesktop.org/wiki/Software/dbus
+
+name=dbus
+version=1.16.2
+release=2
+depends=(expat)
+makedeps=(meson libxslt docbook-xsl)
+groups=(messagebus:user:messagebus:/nonexistent:755:81:81)
+services=(dbus)
+source=(https://dbus.freedesktop.org/releases/$name/$name-$version.tar.xz
+ fix-daemon-location.patch)
+
+patch() {
+ cd $name-$version
+ patch -p1 -i "$SRC"/fix-daemon-location.patch
+}
+
+sha256sums=(
+ "0ba2a1a4b16afe7bceb2c07e9ce99a8c2c3508e5dec290dbb643384bd6beb7e2"
+ "32862e56777619a479ebefc45589cb76207c836de24a8bca14aecb4552e42528"
+)
+
+build() {
+ meson setup $name-$version build \
+ --prefix=/usr \
+ --libdir=lib \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --libexecdir=lib/dbus \
+ --buildtype=plain \
+ -D dbus_daemondir=/usr/bin \
+ -D dbus_user=messagebus \
+ -D runtime_dir=/run \
+ -D system_pid_file=/run/dbus/pid \
+ -D system_socket=/run/dbus/system_bus_socket \
+ -D x11_autolaunch=disabled \
+ -D systemd=disabled \
+ -D selinux=disabled \
+ -D xml_docs=enabled \
+ -D doxygen_docs=disabled \
+ -D ducktype_docs=disabled \
+ -D qt_help=disabled
+
+
+ meson compile -C build
+ DESTDIR=$PKG meson install -C build
+
+ # Symlink arch-specific header into the standard include path
+ # so consumers find dbus-arch-deps.h without needing the lib include path
+ ln -sf /usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h \
+ "$PKG"/usr/include/dbus-1.0/dbus/dbus-arch-deps.h
+
+ # machine-id lives on tmpfs, regenerated each boot by the run script
+ ln -s /run/machine-id "$PKG"/etc/machine-id
+
+ rm -f "$PKG"/usr/lib/dbus/dbus-daemon-launch-helper
+ rm -rf $PKG/usr/share/doc
+ rm -rf $PKG/usr/share/xml
+ rm -rf $PKG/run
+}
+
+post_build() {
+ # runit service
+ install -d $PKG/etc/sv/dbus/log
+
+ printf '%s\n' \
+ '#!/bin/sh' \
+ 'exec 2>&1' \
+ 'install -d -m 755 -o messagebus -g messagebus /run/dbus' \
+ 'dbus-uuidgen --ensure=/run/machine-id' \
+ 'exec dbus-daemon --system --nofork --nopidfile' \
+ > $PKG/etc/sv/dbus/run
+
+ printf '%s\n' \
+ '#!/bin/sh' \
+ 'rm -f /run/dbus/system_bus_socket' \
+ > $PKG/etc/sv/dbus/finish
+
+ printf '%s\n' \
+ '#!/bin/sh' \
+ 'mkdir -p /var/log/dbus' \
+ 'exec svlogd -tt /var/log/dbus' \
+ > $PKG/etc/sv/dbus/log/run
+
+ chmod 755 $PKG/etc/sv/dbus/run
+ chmod 755 $PKG/etc/sv/dbus/finish
+ chmod 755 $PKG/etc/sv/dbus/log/run
+
+ # session bus: started on first login, reused afterwards
+ install -d "$PKG"/etc/profile.d
+
+ printf '%s\n' \
+ '# /etc/profile.d/20-dbus.sh - start/attach per-user D-Bus session bus' \
+ 'if [ -n "$XDG_RUNTIME_DIR" ]; then' \
+ ' _bus="$XDG_RUNTIME_DIR/bus"' \
+ ' if [ ! -S "$_bus" ] && mkdir "$XDG_RUNTIME_DIR/.dbus-lock" 2>/dev/null; then' \
+ ' /usr/bin/dbus-daemon --session --address="unix:path=$_bus" \' \
+ ' --fork --nopidfile --syslog-only' \
+ ' rmdir "$XDG_RUNTIME_DIR/.dbus-lock"' \
+ ' fi' \
+ ' if [ -S "$_bus" ]; then' \
+ ' export DBUS_SESSION_BUS_ADDRESS="unix:path=$_bus"' \
+ ' fi' \
+ ' unset _bus' \
+ 'fi' \
+ > "$PKG"/etc/profile.d/20-dbus.sh
+
+ chmod 644 "$PKG"/etc/profile.d/20-dbus.sh
+}
+
+signify() {
+ untrusted comment: public key
+ RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
+}
+
+# vim: filetype=sh
+