+ (substitute* (list "lib/utilunix.c"
+ "src/usermenu.c"
+ "src/vfs/fish/fish.c"
+ "tests/src/vfs/extfs/helpers-list/Makefile.in")
+ (("/bin/sh") (which "sh")))
+ (substitute* "src/filemanager/ext.c"
+ (("/bin/rm") "rm")
+ (("/bin/sh") (which "sh")))
+
+ ;; There are other /bin/<shell>s hard-coded in this file, but they
+ ;; are never tried after bash (mc's first choice) is found.
+ (substitute* "lib/shell.c"
+ (("/bin/bash") (which "bash")))
+ #t))
+ (add-before 'check 'fix-tests
+ (lambda _
+ ;; Don't expect a UID or GID of ‘0’ in the build environment.
+ (with-directory-excursion "tests/src/vfs/extfs/helpers-list/data"
+ (substitute* (list "rpm.custom.output"
+ "rpm.glib.output")
+ ((" 0 0") "<<uid>> <<gid>>")))
+ ;; XXX ERROR:mc_realpath.c:99:realpath_test: assertion failed
+ ;; (resolved_path == data->expected_string): ("" == "/usr/bin")
+ (substitute* "tests/lib/mc_realpath.c"
+ (("/usr/bin") "/")
+ (("usr/bin") "/"))