summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew S. Turnbull <sparky@bluefang-logic.com>2020-07-29 12:05:00 -0400
committerSam James <sam@gentoo.org>2020-09-09 02:15:00 +0000
commit595bf917931b90247bfb191800275de6b7480ebf (patch)
tree5679cae41923a1d5969adbe45b74a5ad08be3e0a /gnome-extra/cinnamon-screensaver
parentgnome-extra/nemo: 4.6.5 version bump (diff)
downloadgentoo-595bf917931b90247bfb191800275de6b7480ebf.tar.gz
gentoo-595bf917931b90247bfb191800275de6b7480ebf.tar.bz2
gentoo-595bf917931b90247bfb191800275de6b7480ebf.zip
gnome-extra/cinnamon-screensaver: 4.6.0 version bump
Switch to EAPI=7/meson. Include temp patchs, to fix python install and builds with xinerama disabled, both of which have been committed upstream but are currently unreleased. Bug: https://bugs.gentoo.org/733544 Package-Manager: Portage-3.0.4, Repoman-2.3.23 Signed-off-by: Matthew S. Turnbull <sparky@bluefang-logic.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'gnome-extra/cinnamon-screensaver')
-rw-r--r--gnome-extra/cinnamon-screensaver/Manifest1
-rw-r--r--gnome-extra/cinnamon-screensaver/cinnamon-screensaver-4.6.0.ebuild76
-rw-r--r--gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-python-build.patch77
-rw-r--r--gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-xinerama.patch49
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')