summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2023-01-01 16:59:48 +0100
committerSebastian Pipping <sping@gentoo.org>2023-01-01 17:01:58 +0100
commitddf9074b3579b8587f3beb9f0817caa2d19c5ff8 (patch)
tree1a0f677d2b3a05c8b34a2a00926e0440716fcc92
parentx11-wm/metacity: Version bump to 3.46.1 (diff)
downloadgentoo-ddf9074b.tar.gz
gentoo-ddf9074b.tar.bz2
gentoo-ddf9074b.zip
x11-misc/redshift: Fix AppArmor profile
Closes: https://bugs.gentoo.org/887979 Signed-off-by: Sebastian Pipping <sping@gentoo.org>
-rw-r--r--x11-misc/redshift/files/redshift-1.12-apparmor.patch35
-rw-r--r--x11-misc/redshift/redshift-1.12-r9.ebuild91
2 files changed, 126 insertions, 0 deletions
diff --git a/x11-misc/redshift/files/redshift-1.12-apparmor.patch b/x11-misc/redshift/files/redshift-1.12-apparmor.patch
new file mode 100644
index 000000000000..cb939994bf52
--- /dev/null
+++ b/x11-misc/redshift/files/redshift-1.12-apparmor.patch
@@ -0,0 +1,35 @@
+From c740a3a733a59782c26f2f90a073befec2e2324d Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Tue, 27 Dec 2022 01:27:35 +0100
+Subject: [PATCH] Fix AppArmor profile
+
+Inspired by:
+- https://github.com/jonls/redshift/pull/864
+- https://gitlab.com/chinstrap/gammastep/-/blob/9db19f5ccfad20ab7b501daedcfd5ef137860dd2/data/apparmor/usr.bin.redshift.in
+---
+ data/apparmor/usr.bin.redshift.in | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/data/apparmor/usr.bin.redshift.in b/data/apparmor/usr.bin.redshift.in
+index d6696db..9b71f0d 100644
+--- a/data/apparmor/usr.bin.redshift.in
++++ b/data/apparmor/usr.bin.redshift.in
+@@ -35,8 +35,13 @@
+ # Allow but log any other dbus activity
+ audit dbus bus=system,
+
+- owner @{HOME}/.config/redshift.conf r,
++ owner @{HOME}/.config/{,redshift/}redshift.conf r,
++ owner @{HOME}/.config/redshift/hooks/ r,
++ owner @{HOME}/.config/redshift/hooks/* Ux,
++
++ # Required by getpwuid() call in config-ini.c.
++ /etc/passwd* r,
+
+ # Site-specific additions and overrides. See local/README for details.
+- #include <local/usr.bin.redshift>
++ #include if exists <local/usr.bin.redshift>
+ }
+--
+2.39.0
+
diff --git a/x11-misc/redshift/redshift-1.12-r9.ebuild b/x11-misc/redshift/redshift-1.12-r9.ebuild
new file mode 100644
index 000000000000..fd9f01b778a0
--- /dev/null
+++ b/x11-misc/redshift/redshift-1.12-r9.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit flag-o-matic systemd xdg-utils python-r1
+
+DESCRIPTION="A screen color temperature adjusting software"
+HOMEPAGE="http://jonls.dk/redshift/"
+SRC_URI="https://github.com/jonls/${PN}/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="appindicator geoclue gtk nls"
+
+COMMON_DEPEND=">=x11-libs/libX11-1.4
+ x11-libs/libXxf86vm
+ x11-libs/libxcb
+ x11-libs/libdrm
+ appindicator? ( dev-libs/libappindicator:3[introspection] )
+ geoclue? ( app-misc/geoclue:2.0 dev-libs/glib:2 )
+ gtk? ( ${PYTHON_DEPS} )"
+RDEPEND="${COMMON_DEPEND}
+ gtk? ( dev-python/pygobject[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ dev-python/pyxdg[${PYTHON_USEDEP}] )"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/intltool-0.50
+ nls? ( sys-devel/gettext )
+"
+REQUIRED_USE="gtk? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-apparmor.patch
+)
+
+src_configure() {
+ use gtk && python_setup
+
+ # Fix compile for Clang (bug #732438)
+ append-cflags -fPIE
+
+ econf \
+ $(use_enable nls) \
+ --enable-drm \
+ --enable-randr \
+ --enable-vidmode \
+ --disable-wingdi \
+ \
+ --disable-corelocation \
+ $(use_enable geoclue geoclue2) \
+ \
+ $(use_enable gtk gui) \
+ --with-systemduserunitdir="$(systemd_get_userunitdir)" \
+ --enable-apparmor \
+ --disable-quartz \
+ --disable-ubuntu
+}
+
+_impl_specific_src_install() {
+ emake DESTDIR="${D}" \
+ PYTHON="${PYTHON}" \
+ pythondir="$(python_get_sitedir)" \
+ -C src/redshift-gtk install
+}
+
+src_install() {
+ emake DESTDIR="${D}" UPDATE_ICON_CACHE=/bin/true install
+
+ if use gtk; then
+ python_foreach_impl _impl_specific_src_install
+ python_replicate_script "${D}"/usr/bin/redshift-gtk
+ dosym redshift-gtk /usr/bin/gtk-redshift
+
+ python_foreach_impl python_optimize
+
+ # https://bugs.gentoo.org/784281
+ mv "${D}"/usr/share/{appdata,metainfo}/ || die
+ fi
+}
+
+pkg_postinst() {
+ use gtk && xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ use gtk && xdg_icon_cache_update
+}