diff options
4 files changed, 203 insertions, 0 deletions
diff --git a/gnome-extra/cinnamon-screensaver/Manifest b/gnome-extra/cinnamon-screensaver/Manifest index c77ec27b17f9..cff09de74a1d 100644 --- a/gnome-extra/cinnamon-screensaver/Manifest +++ b/gnome-extra/cinnamon-screensaver/Manifest @@ -1 +1,2 @@ DIST cinnamon-screensaver-4.4.1.tar.gz 160214 BLAKE2B df19a370c76648e0717565a3aab4785c3d8b48b20b9d87cc5426506f196db72872642d0ed1109a40986311c0ad7a5c17fbdcfc69681083afd3884c04822c6afa SHA512 92050febcfd41ad03b277cef60b95080d56b8fd985d064e9420a3357d7d0475355a4ca55965e581ae45410df8f19f3c031f6df0e3eec5b6b78aee7141d0244f7 +DIST cinnamon-screensaver-4.6.0.tar.gz 141043 BLAKE2B ba9f1e02fb7567d269daa4eccdb39d2c73dd6ac6bd3a3a4e00e1bcec685b48394fc9247d5006f908091291748e013ae65cf7718a972ef67ed7fd11a226789d6d SHA512 c83a057ff12a22445a155d4f91a45638d922c9b2180a7655f1e34bfd8ddcd31ed901b5b038236fa0e06c6f7986547c34ee8ab61cd216b5bc75f1c202b545c28f diff --git a/gnome-extra/cinnamon-screensaver/cinnamon-screensaver-4.6.0.ebuild b/gnome-extra/cinnamon-screensaver/cinnamon-screensaver-4.6.0.ebuild new file mode 100644 index 000000000000..b06476c95bd7 --- /dev/null +++ b/gnome-extra/cinnamon-screensaver/cinnamon-screensaver-4.6.0.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit meson python-single-r1 xdg + +DESCRIPTION="Screensaver for Cinnamon" +HOMEPAGE="https://projects.linuxmint.com/cinnamon/" +SRC_URI="https://github.com/linuxmint/cinnamon-screensaver/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="systemd xinerama" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +KEYWORDS="~amd64 ~x86" + +COMMON_DEPEND=" + >=dev-libs/glib-2.37.3:2[dbus] + >=x11-libs/gtk+-3.22:3[introspection] + >=gnome-extra/cinnamon-desktop-4.6:0= + >=dev-libs/dbus-glib-0.78 + + sys-apps/dbus + sys-libs/pam + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrandr + x11-themes/adwaita-icon-theme + + ${PYTHON_DEPS} + + xinerama? ( x11-libs/libXinerama ) +" +RDEPEND="${COMMON_DEPEND} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/setproctitle[${PYTHON_USEDEP}] + dev-python/xapp[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + ') + systemd? ( >=sys-apps/systemd-31 ) + !systemd? ( sys-auth/elogind ) +" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto +" +BDEPEND=" + dev-util/gdbus-codegen + >=dev-util/intltool-0.40 + sys-devel/gettext + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.6.0-python-build.patch + "${FILESDIR}"/${PN}-4.6.0-xinerama.patch +) + +src_prepare() { + xdg_src_prepare + python_fix_shebang src +} + +src_configure() { + local emesonargs=( + $(meson_use xinerama) + ) + meson_src_configure +} + +src_install() { + meson_src_install + python_optimize "${ED}"/usr/share/cinnamon-screensaver/ +} diff --git a/gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-python-build.patch b/gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-python-build.patch new file mode 100644 index 000000000000..1e43396257f0 --- /dev/null +++ b/gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-python-build.patch @@ -0,0 +1,77 @@ +From f838b2ab03af0285043d980feba9d52d96d66164 Mon Sep 17 00:00:00 2001 +From: Michael Webster <miketwebster@gmail.com> +Date: Fri, 15 May 2020 08:34:40 -0400 +Subject: [PATCH] Build: Only generate python bytecode during builds with no + temporary install folder. Package managers should handle this otherwise. + +This eliminates a lot of warnings during the packaging portion of +the deb build. +--- + install-scripts/meson.build | 16 ++++++++++++++++ + install-scripts/meson_compile_python.py | 10 ++++++++++ + meson.build | 1 + + src/meson.build | 2 -- + 4 files changed, 27 insertions(+), 2 deletions(-) + create mode 100644 install-scripts/meson.build + create mode 100644 install-scripts/meson_compile_python.py + +diff --git a/install-scripts/meson.build b/install-scripts/meson.build +new file mode 100644 +index 0000000..667d669 +--- /dev/null ++++ b/install-scripts/meson.build +@@ -0,0 +1,16 @@ ++# These scripts run as post-installation scripts. ++ ++# They're designed to do nothing if DESTDIR is set, which happens ++# during debian builds for instance - there's a fake install target ++# so running these would be pointless. ++ ++# When using deb packaging, these aren't needed, as these operations ++# are run automatically by the package manager. ++ ++# They're really only necessary in straight builds where 'ninja install' ++# will be run directly, to install the program onto the system. ++ ++ ++# Generate python bytecode ++meson.add_install_script('meson_compile_python.py') ++ +diff --git a/install-scripts/meson_compile_python.py b/install-scripts/meson_compile_python.py +new file mode 100644 +index 0000000..9ec0f4d +--- /dev/null ++++ b/install-scripts/meson_compile_python.py +@@ -0,0 +1,10 @@ ++#!/usr/bin/python3 ++ ++import os ++import subprocess ++ ++pythondir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'cinnamon-screensaver') ++ ++if not os.environ.get('DESTDIR'): ++ print('Generating python bytecode...') ++ subprocess.call(['sh', '-c', 'python3 -m compileall "%s"' % pythondir]) +diff --git a/meson.build b/meson.build +index c508770..d7dcd31 100644 +--- a/meson.build ++++ b/meson.build +@@ -123,6 +123,7 @@ conf_h = configure_file( + + inc = include_directories('.') + ++subdir('install-scripts') + subdir('libcscreensaver') + subdir('data') + subdir('src') +diff --git a/src/meson.build b/src/meson.build +index 7e0978e..f04fda0 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -64,5 +64,3 @@ foreach script : app_scripts + meson.add_install_script('sh', '-c', + 'ln -sf "@0@" "$DESTDIR/@1@"'.format(join_paths(pkgdatadir, script[0]), join_paths(bindir, script[1]))) + endforeach +- +-meson.add_install_script('sh', '-c', 'python3 -m compileall "$DESTDIR/@0@"'.format(pkgdatadir) ) diff --git a/gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-xinerama.patch b/gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-xinerama.patch new file mode 100644 index 000000000000..e3240a010012 --- /dev/null +++ b/gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-xinerama.patch @@ -0,0 +1,49 @@ +From 13575ae3f332e33a1952a803f2392d6d70df2028 Mon Sep 17 00:00:00 2001 +From: Sparky Bluefang <sparky@bluefang-logic.com> +Date: Wed, 2 Sep 2020 17:59:45 -0400 +Subject: [PATCH] Fix meson syntax error when xinerama support is disabled. + +Fixes #346 +--- + libcscreensaver/meson.build | 7 ++++++- + meson.build | 3 ++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/libcscreensaver/meson.build b/libcscreensaver/meson.build +index 1800c46..c2c3757 100644 +--- a/libcscreensaver/meson.build ++++ b/libcscreensaver/meson.build +@@ -145,13 +145,18 @@ gir_sources = [ + dbus_built + ] + ++libcscreensaver_deps = [gobject, gtk, gdk, x11, xrandr, xext, glib, gio, gthread, pam, m] ++if use_xinerama ++ libcscreensaver_deps += xinerama ++endif ++ + libcscreensaver = library( + 'cscreensaver', + cscreensaver_sources + gir_sources, + version: '0.0.0', + include_directories: inc, + cpp_args: '-DG_LOG_DOMAIN="CScreensaver"', +- dependencies: [gobject, gtk, gdk, x11, xinerama, xrandr, xext, glib, gio, gthread, pam, m], ++ dependencies: libcscreensaver_deps, + install: true + ) + +diff --git a/meson.build b/meson.build +index b15c3fb..2f9a9a5 100644 +--- a/meson.build ++++ b/meson.build +@@ -61,7 +61,8 @@ foreach sym : [ + endif + endforeach + +-if get_option('xinerama') ++use_xinerama = get_option('xinerama') ++if use_xinerama + if host_machine.system() == 'solaris' + xinerama = cc.find_library('Xext') + xinerama_h = cc.has_header('X11/extensions/xinerama.h') |