summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2023-11-05 23:03:41 +0100
committerSebastian Pipping <sping@gentoo.org>2023-11-05 23:04:04 +0100
commitaedb579fa708682fbabe512bbaf4fa33e3acf856 (patch)
tree39c9afe105177c7777b67777452e3e7b7ec52105
parentx11-misc/grub2-theme-preview: Python 3.12 (diff)
downloadgentoo-aedb579fa708682fbabe512bbaf4fa33e3acf856.tar.gz
gentoo-aedb579fa708682fbabe512bbaf4fa33e3acf856.tar.bz2
gentoo-aedb579fa708682fbabe512bbaf4fa33e3acf856.zip
x11-misc/redshift: Python 3.12
Signed-off-by: Sebastian Pipping <sping@gentoo.org>
-rw-r--r--x11-misc/redshift/redshift-1.12-r11.ebuild102
1 files changed, 102 insertions, 0 deletions
diff --git a/x11-misc/redshift/redshift-1.12-r11.ebuild b/x11-misc/redshift/redshift-1.12-r11.ebuild
new file mode 100644
index 000000000000..b2b5c880cfe7
--- /dev/null
+++ b/x11-misc/redshift/redshift-1.12-r11.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit autotools 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/libayatana-appindicator )
+ 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
+ "${FILESDIR}"/${P}-libayatana-appindicator.patch
+)
+
+src_prepare() {
+ # we need to re-generate file py-compile with a version
+ # that supports Python >=3.12 to not fail with error:
+ # ModuleNotFoundError: No module named 'imp'
+ rm py-compile || die
+ eautoreconf
+
+ eapply_user
+}
+
+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
+}