summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-python-build.patch')
-rw-r--r--gnome-extra/cinnamon-screensaver/files/cinnamon-screensaver-4.6.0-python-build.patch77
1 files changed, 77 insertions, 0 deletions
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) )