malcontent: add recipe

malcontent is an optional dependency for flatpak and gnome-software

- Building the malcontent gtk4-ui leads to circular dependency malcontent <-> flatpak
  Add a separate package for malcontent-ui to avoid this and to make malcontent-control
  buildable.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk 2024-05-17 08:09:32 +02:00 committed by Khem Raj
parent aeb11d81dc
commit 05722a9a07
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 95 additions and 0 deletions

View File

@ -0,0 +1,48 @@
SUMMARY = "User-Interface for malcontent."
HOMEPAGE = "https://gitlab.freedesktop.org/pwithnall/malcontent"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
require malcontent.inc
DEPENDS = " \
malcontent \
accountsservice \
glib-2.0 \
glib-testing \
dbus \
desktop-file-utils-native \
itstool-native \
libpam \
polkit \
appstream \
flatpak \
libadwaita \
gtk4 \
"
GIR_MESON_OPTION = ""
GTKIC_VERSION = "4"
inherit meson pkgconfig gtk-icon-cache gobject-introspection gettext features_check
REQUIRED_DISTRO_FEATURES = "pam polkit gobject-introspection"
EXTRA_OEMESON = "-Dui=enabled"
do_install() {
install -d ${D}${datadir}/gir-1.0 ${D}${libdir}/girepository-1.0 ${D}${bindir}
install -d ${D}${datadir}/polkit-1/actions ${D}${datadir}/metainfo ${D}${datadir}/applications
install -m 0644 ${B}/libmalcontent-ui/MalcontentUi-1.gir ${D}${datadir}/gir-1.0
install -m 0644 ${B}/libmalcontent-ui/MalcontentUi-1.typelib ${D}${libdir}/girepository-1.0
ln -sf libmalcontent-ui-1.so.1 ${D}${libdir}/libmalcontent-ui-1.so
install -m 0644 ${B}/libmalcontent-ui/libmalcontent-ui-1.so.1 ${D}${libdir}
install -m 0644 ${B}/libmalcontent-ui/libmalcontent-ui-1.so.0.12.0 ${D}${libdir}
install -m 0755 ${B}/malcontent-control/malcontent-control ${D}${bindir}
install -m 0644 ${B}/malcontent-control/org.freedesktop.MalcontentControl.policy ${D}${datadir}/polkit-1/actions
install -m 0644 ${B}/malcontent-control/org.freedesktop.MalcontentControl.appdata.xml ${D}${datadir}/metainfo
install -m 0644 ${B}/malcontent-control/org.freedesktop.MalcontentControl.desktop ${D}${datadir}/applications
}
FILES:${PN} += "${bindir} ${libdir} ${datadir}"

View File

@ -0,0 +1,3 @@
SRC_URI = "git://gitlab.freedesktop.org/pwithnall/malcontent.git;protocol=https;branch=main"
S = "${WORKDIR}/git"
SRCREV = "3ba80995bb25b7aeda7e21d547f9e39ff9a81736"

View File

@ -0,0 +1,44 @@
SUMMARY = "malcontent implements support for restricting the type of content."
HOMEPAGE = "https://gitlab.freedesktop.org/pwithnall/malcontent"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
require malcontent.inc
DEPENDS = " \
accountsservice \
glib-2.0 \
glib-testing \
dbus \
itstool-native \
libpam \
polkit \
"
GIR_MESON_OPTION = ""
inherit meson pkgconfig gobject-introspection gettext features_check useradd
REQUIRED_DISTRO_FEATURES = "pam polkit gobject-introspection"
PACKAGECONFIG ?= "ui"
PACKAGECONFIG[ui] = ",,,malcontent-ui"
EXTRA_OEMESON = "-Dui=disabled"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 --shell /bin/nologin polkitd"
do_install:append() {
# Fix up permissions on polkit rules.d to work with rpm4 constraints
chmod 700 ${D}/${datadir}/polkit-1/rules.d
chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
}
FILES:${PN} += " \
${libdir}/security/pam_malcontent.so \
${datadir}/accountsservice \
${datadir}/help \
${datadir}/dbus-1 \
${datadir}/polkit-1 \
"