From fa3ebc5a7d2cc6eb67bd4882b0443fbddf81c0fc Mon Sep 17 00:00:00 2001 From: Rhys-T <108157737+Rhys-T@users.noreply.github.com> Date: Sat, 8 Feb 2025 14:37:17 -0500 Subject: [PATCH 1/2] 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. --- pkgs/tools/misc/timidity/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix index a624efc23759..c139d741fab2 100644 --- a/pkgs/tools/misc/timidity/default.nix +++ b/pkgs/tools/misc/timidity/default.nix @@ -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; From 31f561c0cc1b24b32b6370ec26493dec25daafa0 Mon Sep 17 00:00:00 2001 From: Rhys-T <108157737+Rhys-T@users.noreply.github.com> Date: Sun, 9 Feb 2025 02:45:34 -0500 Subject: [PATCH 2/2] timidity: update URL of Midia instruments tarball --- pkgs/tools/misc/timidity/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix index c139d741fab2..a6c2349bef13 100644 --- a/pkgs/tools/misc/timidity/default.nix +++ b/pkgs/tools/misc/timidity/default.nix @@ -97,7 +97,7 @@ stdenv.mkDerivation rec { ]; instruments = fetchurl { - url = "http://www.csee.umbc.edu/pub/midia/instruments.tar.gz"; + url = "https://courses.cs.umbc.edu/pub/midia/instruments.tar.gz"; sha256 = "0lsh9l8l5h46z0y8ybsjd4pf6c22n33jsjvapfv3rjlfnasnqw67"; };