aboutsummaryrefslogtreecommitdiffstats
path: root/community/mpc/0001-doc-make-upload-target-dependency-on-rsync-optional.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/mpc/0001-doc-make-upload-target-dependency-on-rsync-optional.patch')
-rw-r--r--community/mpc/0001-doc-make-upload-target-dependency-on-rsync-optional.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/community/mpc/0001-doc-make-upload-target-dependency-on-rsync-optional.patch b/community/mpc/0001-doc-make-upload-target-dependency-on-rsync-optional.patch
new file mode 100644
index 00000000000..a3b05e1a17e
--- /dev/null
+++ b/community/mpc/0001-doc-make-upload-target-dependency-on-rsync-optional.patch
@@ -0,0 +1,58 @@
+From b656ca4b6c2a0d5b6cebd7f7daa679352f664e0e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Tue, 30 Nov 2021 02:53:23 +0100
+Subject: [PATCH] doc: make upload target dependency on rsync optional
+
+Currently, rsync is an unconditional dependency and checked during
+`meson configure`. As such, the build will fail if rsync is not
+installed which is probably not what was intended here.
+
+From the meson documentation:
+
+ Meson will automatically insert the appropriate dependencies on
+ targets and files listed in this keyword [the command] argument.
+
+This commit fixes the unconditional dependency on rsync with an explicit
+find_program invocation with `required: false`. Also wrap the
+custom_target in an if statement since it is not allowed to use
+non-found external programs in `command`.
+---
+ doc/meson.build | 25 ++++++++++++++-----------
+ 1 file changed, 14 insertions(+), 11 deletions(-)
+
+diff --git a/doc/meson.build b/doc/meson.build
+index f9475da..62529f8 100644
+--- a/doc/meson.build
++++ b/doc/meson.build
+@@ -8,17 +8,20 @@ sphinx_output = custom_target(
+ install_dir: join_paths(get_option('datadir'), 'doc', meson.project_name()),
+ )
+
+-custom_target(
+- 'upload',
+- input: sphinx_output,
+- output: 'upload',
+- build_always_stale: true,
+- command: [
+- 'rsync', '-vpruz', '--delete', '@INPUT@',
+- 'www.musicpd.org:/var/www/mpd/doc/mpc/',
+- '--chmod=a+rX',
+- ],
+-)
++rsync = find_program('rsync', required: false)
++if rsync.found()
++ custom_target(
++ 'upload',
++ input: sphinx_output,
++ output: 'upload',
++ build_always_stale: true,
++ command: [
++ rsync, '-vpruz', '--delete', '@INPUT@',
++ 'www.musicpd.org:/var/www/mpd/doc/mpc/',
++ '--chmod=a+rX',
++ ],
++ )
++endif
+
+ custom_target(
+ 'Manpage documentation',