commit:     595bf917931b90247bfb191800275de6b7480ebf
Author:     Matthew S. Turnbull <sparky <AT> bluefang-logic <DOT> com>
AuthorDate: Wed Jul 29 16:05:00 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep  9 02:15:00 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=595bf917

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 <AT> bluefang-logic.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 gnome-extra/cinnamon-screensaver/Manifest          |  1 +
 .../cinnamon-screensaver-4.6.0.ebuild              | 76 +++++++++++++++++++++
 .../cinnamon-screensaver-4.6.0-python-build.patch  | 77 ++++++++++++++++++++++
 .../cinnamon-screensaver-4.6.0-xinerama.patch      | 49 ++++++++++++++
 4 files changed, 203 insertions(+)

diff --git a/gnome-extra/cinnamon-screensaver/Manifest 
b/gnome-extra/cinnamon-screensaver/Manifest
index c77ec27b17f..cff09de74a1 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 00000000000..b06476c95bd
--- /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 00000000000..1e43396257f
--- /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 <[email protected]>
+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 00000000000..e3240a01001
--- /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 <[email protected]>
+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')

Reply via email to