timidity: fix symlink permissions for Darwin build

All but one of the symlinks in the instruments.tar.gz tarball have their
permissions set to 0000. This causes noBrokenSymlinks to fail silently
at readlink on systems like Darwin/macOS that actually care about
symlink permissions. It also seems to be the reason that turning on
`dontRewriteSymlinks` on Darwin was necessary.

Resolves #380436.
This commit is contained in:
Rhys-T
2025-02-08 14:37:17 -05:00
parent 1c7d92f05a
commit fa3ebc5a7d
+3 -2
View File
@@ -114,9 +114,10 @@ stdenv.mkDerivation rec {
cp ${./timidity.cfg} $out/share/timidity/timidity.cfg
substituteAllInPlace $out/share/timidity/timidity.cfg
tar --strip-components=1 -xf $instruments -C $out/share/timidity/
# All but one of the symlinks in the instruments tarball have their permissions set to 0000.
# This causes problems on systems like Darwin that actually use symlink permissions.
chmod -Rh u+rwX $out/share/timidity/
'';
# This fixup step is unnecessary and fails on Darwin
dontRewriteSymlinks = stdenv.hostPlatform.isDarwin;
passthru.tests = nixosTests.timidity;