void-packages/srcpkgs/mpc/patches/0001-doc-make-upload-target-dependency-on-rsync-optional.patch
2022-02-14 09:53:13 +01:00

61 lines
1.8 KiB
Diff

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',
--
2.35.1