about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/audio
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/audio')
-rw-r--r--nixpkgs/pkgs/applications/audio/alsa-scarlett-gui/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/ams-lv2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ardour/6.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ardour/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/bambootracker/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/bchoppr/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/audio/bespokesynth/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/audio/cava/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/clerk/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/audio/fomp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ft2-clone/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/audio/gtkcord4/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/guitarix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/hydrogen/0.nix48
-rw-r--r--nixpkgs/pkgs/applications/audio/ingen/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/jalv/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mda-lv2/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/soundcloud.nix9
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/tidal.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/muse/default.nix69
-rw-r--r--nixpkgs/pkgs/applications/audio/muse/fix-parallel-building.patch93
-rw-r--r--nixpkgs/pkgs/applications/audio/music-player/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/mympd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/non/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ocenaudio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/parrot/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/audio/patchage/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/picard/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/praat/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/qmidiroute/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/audio/qtscrobbler/default.nix34
-rw-r--r--nixpkgs/pkgs/applications/audio/quodlibet/default.nix68
-rw-r--r--nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/audio/spotify-player/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/audio/transcribe/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/youtube-music/default.nix11
37 files changed, 308 insertions, 421 deletions
diff --git a/nixpkgs/pkgs/applications/audio/alsa-scarlett-gui/default.nix b/nixpkgs/pkgs/applications/audio/alsa-scarlett-gui/default.nix
index 0ce5bd359e76..4b40069eaef5 100644
--- a/nixpkgs/pkgs/applications/audio/alsa-scarlett-gui/default.nix
+++ b/nixpkgs/pkgs/applications/audio/alsa-scarlett-gui/default.nix
@@ -2,6 +2,8 @@
 , stdenv
 , fetchFromGitHub
 , pkg-config
+, makeWrapper
+, alsa-utils
 , alsa-lib
 , gtk4
 , wrapGAppsHook4
@@ -22,9 +24,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "DESTDIR=\${out}" "PREFIX=''" ];
   sourceRoot = "${src.name}/src";
-  nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook4 makeWrapper ];
   buildInputs = [ gtk4 alsa-lib ];
   postInstall = ''
+    wrapProgram $out/bin/alsa-scarlett-gui --prefix PATH : ${lib.makeBinPath [ alsa-utils ]}
+
     substituteInPlace $out/share/applications/vu.b4.alsa-scarlett-gui.desktop \
       --replace "Exec=/bin/alsa-scarlett-gui" "Exec=$out/bin/alsa-scarlett-gui"
   '';
diff --git a/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix b/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix
index 88956a190c4a..b771c0368148 100644
--- a/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkg-config
-, wafHook, python3 }:
+, waf, python3 }:
 
 stdenv.mkDerivation  rec {
   pname = "ams-lv2";
@@ -12,7 +12,7 @@ stdenv.mkDerivation  rec {
     sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk";
   };
 
-  nativeBuildInputs = [ pkg-config wafHook python3 ];
+  nativeBuildInputs = [ pkg-config waf.hook python3 ];
   buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/audio/ardour/6.nix b/nixpkgs/pkgs/applications/audio/ardour/6.nix
index 4e0508f00c57..fa6cfce7977a 100644
--- a/nixpkgs/pkgs/applications/audio/ardour/6.nix
+++ b/nixpkgs/pkgs/applications/audio/ardour/6.nix
@@ -50,7 +50,7 @@
 , suil
 , taglib
 , vamp-plugin-sdk
-, wafHook
+, waf
 , xjadeo
 , videoSupport ? true
 }:
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
     perl
     pkg-config
     python3
-    wafHook
+    waf.hook
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/ardour/default.nix b/nixpkgs/pkgs/applications/audio/ardour/default.nix
index 2c8a44f62162..a39aa7242e72 100644
--- a/nixpkgs/pkgs/applications/audio/ardour/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ardour/default.nix
@@ -52,7 +52,7 @@
 , suil
 , taglib
 , vamp-plugin-sdk
-, wafHook
+, waf
 , xjadeo
 , videoSupport ? true
 }:
@@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
     perl
     pkg-config
     python3
-    wafHook
+    waf.hook
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/bambootracker/default.nix b/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
index e805dd1f90cc..6c1bd006c7a6 100644
--- a/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/bambootracker/default.nix
@@ -17,14 +17,14 @@ assert lib.versionAtLeast qtbase.version "6.0" -> qt5compat != null;
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bambootracker";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "BambooTracker";
     repo = "BambooTracker";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-rn6PNxVsLEXz8q3nvMMhKV1/Woq2CxROf0qsQJykyUs=";
+    hash = "sha256-rMYs2jixzoMGem9lxAjDMbFOMrnK8BLFjZIagdZk/Ok=";
   };
 
   postPatch = lib.optionalString (lib.versionAtLeast qtbase.version "6.0") ''
diff --git a/nixpkgs/pkgs/applications/audio/bchoppr/default.nix b/nixpkgs/pkgs/applications/audio/bchoppr/default.nix
index e6aaeb129158..1d1afc0dd940 100644
--- a/nixpkgs/pkgs/applications/audio/bchoppr/default.nix
+++ b/nixpkgs/pkgs/applications/audio/bchoppr/default.nix
@@ -2,13 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "bchoppr";
-  version = "1.12.2";
+  version = "1.12.6";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-P6sbxhgnlek1IJ4i9yTe/3g/2C8oLPKXI3zbLdswvl8=";
+    sha256 = "sha256-/aLoLUpWu66VKd9lwjli+FZZctblrZUPSEsdYH85HwQ=";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix b/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
index ad19192ce70c..92d7297ec844 100644
--- a/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
+++ b/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
@@ -36,6 +36,7 @@
 , CoreServices
 , CoreAudioKit
 , IOBluetooth
+, MetalKit
   # It is not allowed to distribute binaries with the VST2 SDK plugin without a license
   # (the author of Bespoke has such a licence but not Nix). VST3 should work out of the box.
   # Read more in https://github.com/NixOS/nixpkgs/issues/145607
@@ -58,20 +59,16 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bespokesynth";
-  version = "1.1.0";
+  version = "unstable-2023-08-17";
 
   src = fetchFromGitHub {
     owner = "BespokeSynth";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-PN0Q6/gI1PeMaF/8EZFGJdLR8JVHQZfWunAhOIQxkHw=";
+    rev = "c6b1410afefc8b0b9aeb4aa11ad5c32651879c9f";
+    hash = "sha256-MLHlHSszD2jEN4/f2jC4vjAidr3gVOSK606qs5bq+Sc=";
     fetchSubmodules = true;
   };
 
-  postPatch = ''
-    sed '1i#include <memory>' -i Source/TitleBar.h # gcc12
-  '';
-
   cmakeBuildType = "Release";
 
   cmakeFlags = lib.optionals enableVST2 [ "-DBESPOKE_VST2_SDK_LOCATION=${vst-sdk}/VST2_SDK" ];
@@ -79,7 +76,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ python3 makeWrapper cmake pkg-config ninja ];
 
   buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
-    # List obtained in https://github.com/BespokeSynth/BespokeSynth/blob/main/azure-pipelines.yml
+    # List obtained from https://github.com/BespokeSynth/BespokeSynth/blob/main/azure-pipelines.yml
     libX11
     libXrandr
     libXinerama
@@ -110,6 +107,7 @@ stdenv.mkDerivation rec {
     CoreServices
     CoreAudioKit
     IOBluetooth
+    MetalKit
   ];
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
@@ -133,23 +131,27 @@ stdenv.mkDerivation rec {
         --prefix PATH : '${lib.makeBinPath [
           gnome.zenity
           (python3.withPackages (ps: with ps; [ jedi ]))
-        ]}' \
-        --prefix LD_LIBRARY_PATH : '${lib.makeLibraryPath [
-          libXrandr
-          libXinerama
-          libXcursor
-          libXScrnSaver
         ]}'
     '';
 
+  env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux "-rpath ${lib.makeLibraryPath ([
+    libX11
+    libXrandr
+    libXinerama
+    libXext
+    libXcursor
+    libXScrnSaver
+  ])}";
+  dontPatchELF = true; # needed or nix will try to optimize the binary by removing "useless" rpath
+
   meta = with lib; {
     description =
       "Software modular synth with controllers support, scripting and VST";
-    homepage = "https://github.com/awwbees/BespokeSynth";
+    homepage = "https://www.bespokesynth.com/";
     license = with licenses; [
       gpl3Plus
     ] ++ lib.optional enableVST2 unfree;
-    maintainers = with maintainers; [ astro tobiasBora OPNA2608 ];
+    maintainers = with maintainers; [ astro tobiasBora OPNA2608 PowerUser64 ];
     mainProgram = "BespokeSynth";
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/audio/cava/default.nix b/nixpkgs/pkgs/applications/audio/cava/default.nix
index 87d1b3ba9d8b..3acc83d6a65e 100644
--- a/nixpkgs/pkgs/applications/audio/cava/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cava/default.nix
@@ -2,12 +2,18 @@
 , stdenv
 , fetchFromGitHub
 , autoreconfHook
+, autoconf-archive
 , alsa-lib
 , fftw
 , iniparser
 , libpulseaudio
+, pipewire
 , ncurses
 , pkgconf
+, SDL2
+, libGL
+, withSDL2 ? false
+, withPipewire ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -27,10 +33,16 @@ stdenv.mkDerivation rec {
     libpulseaudio
     ncurses
     iniparser
+  ] ++ lib.optionals withSDL2 [
+    SDL2
+    libGL
+  ] ++ lib.optionals withPipewire [
+    pipewire
   ];
 
   nativeBuildInputs = [
     autoreconfHook
+    autoconf-archive
     pkgconf
   ];
 
diff --git a/nixpkgs/pkgs/applications/audio/clerk/default.nix b/nixpkgs/pkgs/applications/audio/clerk/default.nix
index 15b2ad85ea7e..11f93e00b233 100644
--- a/nixpkgs/pkgs/applications/audio/clerk/default.nix
+++ b/nixpkgs/pkgs/applications/audio/clerk/default.nix
@@ -3,55 +3,79 @@
 , fetchFromGitHub
 , makeWrapper
 , rofi
+, tmux
+, fzf
 , mpc-cli
 , perl
 , util-linux
-, python3Packages
 , libnotify
+, perlPackages
 }:
 
 stdenv.mkDerivation {
   pname = "clerk";
-  version = "unstable-2016-10-14";
+  version = "unstable-2023-01-14";
 
   src = fetchFromGitHub {
     owner = "carnager";
     repo = "clerk";
-    rev = "875963bcae095ac1db174627183c76ebe165f787";
-    sha256 = "0y045my65hr3hjyx13jrnyg6g3wb41phqb1m7azc4l6vx6r4124b";
+    rev = "90c0e702fc4f8b65f0ced7b8944c063629e3686d";
+    hash = "sha256-nkm1vJaWgN8gOkmAbsjPfstax8TwUSkEzYKJ1iEz1hM";
   };
 
+  postPatch = ''
+    substituteInPlace clerk_rating_client.service \
+      --replace "/usr" "$out"
+  '';
+
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ python3Packages.mpd2 ];
+
+  buildInputs = with perlPackages; [
+    perl
+    DataMessagePack
+    DataSectionSimple
+    ConfigSimple
+    TryTiny
+    IPCRun
+    HTTPDate
+    FileSlurper
+    ArrayUtils
+    NetMPD
+  ];
 
   dontBuild = true;
 
   strictDeps = true;
 
-  installPhase =
-    let
-      binPath = lib.makeBinPath [
-        libnotify
-        mpc-cli
-        perl
-        rofi
-        util-linux
-      ];
-    in
-      ''
-        runHook preInstall
-
-        DESTDIR=$out PREFIX=/ make install
-        wrapProgram $out/bin/clerk --prefix PATH : "${binPath}"
-
-        runHook postInstall
-      '';
+  installPhase = ''
+    runHook preInstall
+
+    install -D clerk.pl $out/bin/clerk
+    install -D clerk_rating_client $out/bin/clerk_rating_client
+    install -D clerk_rating_client.service $out/lib/systemd/user/clerk_rating_client.service
+    runHook postInstall
+  '';
+
+  postFixup = let
+    binPath = lib.makeBinPath [
+      libnotify
+      mpc-cli
+      rofi
+      tmux
+      fzf
+      util-linux
+    ];
+  in
+  ''
+    wrapProgram $out/bin/clerk --set PERL5LIB $PERL5LIB --prefix PATH : "${binPath}"
+    wrapProgram $out/bin/clerk_rating_client --set PERL5LIB $PERL5LIB --prefix PATH : "${binPath}"
+  '';
 
   meta = with lib; {
-    description = "An MPD client built on top of rofi";
+    description = "An MPD client based on rofi/fzf";
     homepage = "https://github.com/carnager/clerk";
     license = licenses.mit;
-    broken = true; # not compatible with current version of rofi
-    maintainers = with maintainers; [ anderspapitto ];
+    maintainers = with maintainers; [ anderspapitto rewine ];
+    mainProgram = "clerk";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/fomp/default.nix b/nixpkgs/pkgs/applications/audio/fomp/default.nix
index 8dc86cb8ccf5..14231a1b2ad4 100644
--- a/nixpkgs/pkgs/applications/audio/fomp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/fomp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, lv2, pkg-config, python3, wafHook }:
+{ lib, stdenv, fetchurl, lv2, pkg-config, python3, waf }:
 
 stdenv.mkDerivation rec {
   pname = "fomp";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-xnGijydiO3B7BjSlryFuH1j/OPio9hCYbniq2IXp2W8=";
   };
 
-  nativeBuildInputs = [ pkg-config wafHook ];
+  nativeBuildInputs = [ pkg-config waf.hook ];
   buildInputs = [ lv2 python3 ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
index 6c63a584fc8d..06a8c5daf9d2 100644
--- a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , nixosTests
 , alsa-lib
@@ -22,10 +23,20 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-tm0yTh46UKnsjH9hv3cMW0YL2x3OTRL+14x4c7w124U=";
   };
 
-  # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    sed -i -e 's@__LINUX_ALSA__@__MACOSX_CORE__@' -e 's@asound@@' CMakeLists.txt
-  '';
+  patches = [
+    # Adapt CMake script to be Darwin-compatible
+    # https://github.com/8bitbubsy/ft2-clone/pull/30
+    (fetchpatch {
+      name = "0001-ft2-clone-Make-CMake-script-macOS-compatible.patch";
+      url = "https://github.com/8bitbubsy/ft2-clone/pull/30/commits/0033a567abf7ddbdb2bc59c7f730d22f986010aa.patch";
+      hash = "sha256-fhA+T6RI+Qmhr7mbG9lEA7esWskgK8+DkWzol0J2lUo=";
+    })
+    (fetchpatch {
+      name = "0002-ft2-clone-Fix-__MACOSX_CORE__-typo.patch";
+      url = "https://github.com/8bitbubsy/ft2-clone/pull/30/commits/fe50aff9233130150a6631875611c7db67a2d705.patch";
+      hash = "sha256-X4AVuJ0iRlpH1N/YzjdVk5+yv7eiDNoZkk0mhOizgOg=";
+    })
+  ];
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ SDL2 ]
@@ -38,13 +49,6 @@ stdenv.mkDerivation rec {
          Cocoa
        ];
 
-  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin [
-    "-framework CoreAudio"
-    "-framework CoreMIDI"
-    "-framework CoreServices"
-    "-framework Cocoa"
-  ];
-
   passthru.tests = {
     ft2-clone-starts = nixosTests.ft2-clone;
   };
diff --git a/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix b/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix
index ce9d26229c6c..7242245a3ea9 100644
--- a/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "gtkcord4";
-  version = "0.0.11-1";
+  version = "0.0.12";
 
   src = fetchFromGitHub {
     owner = "diamondburned";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-GkjUURmPS1KOwgYn7kO9/oGIUX9fnSgYjyU7PHXtE5w=";
+    hash = "sha256-x//PST2f501QuxRdPe3cYbpL66/zLJWmscED9SbxsTk=";
   };
 
   nativeBuildInputs = [
@@ -57,7 +57,7 @@ buildGoModule rec {
     install -D -m 444 internal/icons/png/logo.png $out/share/icons/hicolor/256x256/apps/gtkcord4.png
   '';
 
-  vendorHash = "sha256-RJ6dLa5EzfLMPR3LMIplFhmph+tcdsieiB5Uv95lqIs=";
+  vendorHash = "sha256-LCLZBcYiexffvCr4vdZdIwNKo0s4mqPc6KxRumRhf1Y=";
 
   meta = with lib; {
     description = "GTK4 Discord client in Go, attempt #4.";
diff --git a/nixpkgs/pkgs/applications/audio/guitarix/default.nix b/nixpkgs/pkgs/applications/audio/guitarix/default.nix
index 3033888996a1..e40084ff5a1b 100644
--- a/nixpkgs/pkgs/applications/audio/guitarix/default.nix
+++ b/nixpkgs/pkgs/applications/audio/guitarix/default.nix
@@ -30,7 +30,7 @@
 , serd
 , sord
 , sratom
-, wafHook
+, waf
 , wrapGAppsHook
 , zita-convolver
 , zita-resampler
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     intltool
     pkg-config
     python3
-    wafHook
+    waf.hook
     wrapGAppsHook
   ];
 
diff --git a/nixpkgs/pkgs/applications/audio/hydrogen/0.nix b/nixpkgs/pkgs/applications/audio/hydrogen/0.nix
deleted file mode 100644
index aa1821657867..000000000000
--- a/nixpkgs/pkgs/applications/audio/hydrogen/0.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, pkg-config
-, cmake
-, alsa-lib
-, boost
-, glib
-, lash
-, libjack2
-, libarchive
-, libsndfile
-, lrdf
-, qt4
-}:
-
-stdenv.mkDerivation rec {
-  version = "0.9.7";
-  pname = "hydrogen";
-
-  src = fetchFromGitHub {
-    owner = "hydrogen-music";
-    repo = "hydrogen";
-    rev = version;
-    sha256 = "sha256-6ycNUcumtAEl/6XbIpW6JglGv4nNOdMrOJ1nvJg3z/c=";
-  };
-
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [
-    alsa-lib
-    boost
-    glib
-    lash
-    libjack2
-    libarchive
-    libsndfile
-    lrdf
-    qt4
-  ];
-
-  meta = with lib; {
-    description = "Advanced drum machine";
-    homepage = "http://www.hydrogen-music.org";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/ingen/default.nix b/nixpkgs/pkgs/applications/audio/ingen/default.nix
index 81a97d5a054e..7c86d3b76fa0 100644
--- a/nixpkgs/pkgs/applications/audio/ingen/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ingen/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
 , lv2, pkg-config, python3, raul, serd, sord, sratom
-, wafHook
+, waf
 , suil
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation  rec {
     deepClone = true;
   };
 
-  nativeBuildInputs = [ pkg-config wafHook python3 python3.pkgs.wrapPython ];
+  nativeBuildInputs = [ pkg-config waf.hook python3 python3.pkgs.wrapPython ];
   buildInputs = [
     boost ganv glibmm gtkmm2 libjack2 lilv lv2
     python3 raul serd sord sratom suil
diff --git a/nixpkgs/pkgs/applications/audio/jalv/default.nix b/nixpkgs/pkgs/applications/audio/jalv/default.nix
index b640b55c5476..82c747c2d7a6 100644
--- a/nixpkgs/pkgs/applications/audio/jalv/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jalv/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python3
-, serd, sord , sratom, suil, wafHook }:
+, serd, sord , sratom, suil, waf }:
 
 stdenv.mkDerivation  rec {
   pname = "jalv";
@@ -10,7 +10,7 @@ stdenv.mkDerivation  rec {
     sha256 = "sha256-ktFBeBtmQ3MgfDQ868XpuM7UYfryb9zLld8AB7BjnhY=";
   };
 
-  nativeBuildInputs = [ pkg-config wafHook ];
+  nativeBuildInputs = [ pkg-config waf.hook ];
   buildInputs = [
     gtk2 libjack2 lilv lv2 python3 serd sord sratom suil
   ];
diff --git a/nixpkgs/pkgs/applications/audio/mda-lv2/default.nix b/nixpkgs/pkgs/applications/audio/mda-lv2/default.nix
index 98812bec4d87..269d334fbe97 100644
--- a/nixpkgs/pkgs/applications/audio/mda-lv2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mda-lv2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fftwSinglePrec, lv2, pkg-config, wafHook, python3 }:
+{ lib, stdenv, fetchurl, fftwSinglePrec, lv2, pkg-config, waf, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "mda-lv2";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-zWYRcCSuBJzzrKg/npBKcCdyJOI6lp9yqcXQEKSYV9s=";
   };
 
-  nativeBuildInputs = [ pkg-config wafHook python3 ];
+  nativeBuildInputs = [ pkg-config waf.hook python3 ];
   buildInputs = [ fftwSinglePrec lv2 ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix b/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix
index ac9d4f2e26a1..f9233f56f4c4 100644
--- a/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix
@@ -5,13 +5,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "10.19";
+  version = "10.20";
   pname = "monkeys-audio";
 
   src = fetchzip {
     url = "https://monkeysaudio.com/files/MAC_${
       builtins.concatStringsSep "" (lib.strings.splitString "." version)}_SDK.zip";
-    sha256 = "sha256-kuK6Uok5PAK66OtY+Uu1R7g8T7geA9edn2Sv6LN2pXc=";
+    sha256 = "sha256-RBrWz0iGVny1YC6H9NJbFb2HhlAxRiFrTBg1Evm85B8=";
     stripRoot = false;
   };
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/soundcloud.nix b/nixpkgs/pkgs/applications/audio/mopidy/soundcloud.nix
index 1985cc6f387d..cd9ef3e691ae 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/soundcloud.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/soundcloud.nix
@@ -2,16 +2,19 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-soundcloud";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy-soundcloud";
     rev = "v${version}";
-    sha256 = "18wiiv4rca9vibvnc27f3q4apf8n61kbp7mdbm2pmz86qwmd47pa";
+    sha256 = "sha256-1Qqbfw6NZ+2K1w+abMBfWo0RAmIRbNyIErEmalmWJ0s=";
   };
 
-  propagatedBuildInputs = [ mopidy ];
+  propagatedBuildInputs = [
+    mopidy
+    pythonPackages.beautifulsoup4
+  ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/tidal.nix b/nixpkgs/pkgs/applications/audio/mopidy/tidal.nix
index 9c1816e7b80c..4b485ba3886b 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/tidal.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/tidal.nix
@@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
     description = "Mopidy extension for playing music from Tidal";
     homepage = "https://github.com/tehkillerbee/mopidy-tidal";
     license = licenses.mit;
-    maintainers = [ maintainers.rodrgz ];
+    maintainers = [ ];
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/audio/muse/default.nix b/nixpkgs/pkgs/applications/audio/muse/default.nix
index 01940bfc4f32..fb80c10f046f 100644
--- a/nixpkgs/pkgs/applications/audio/muse/default.nix
+++ b/nixpkgs/pkgs/applications/audio/muse/default.nix
@@ -1,33 +1,68 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qttools, wrapQtAppsHook
-, alsa-lib, dssi, fluidsynth, ladspaH, lash, libinstpatch, libjack2, liblo
-, libsamplerate, libsndfile, lilv, lrdf, lv2, qtsvg, rtaudio, rubberband, sord, serd
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, qttools
+, wrapQtAppsHook
+, alsa-lib
+, dssi
+, fluidsynth
+, ladspaH
+, lash
+, libinstpatch
+, libjack2
+, liblo
+, libsamplerate
+, libsndfile
+, lilv
+, lrdf
+, lv2
+, qtsvg
+, rtaudio
+, rubberband
+, sord
+, serd
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "muse-sequencer";
-  version = "3.1.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "muse-sequencer";
     repo = "muse";
-    rev = "muse_${builtins.replaceStrings ["."] ["_"] version}";
-    sha256 = "1rasp2v1ds2aw296lbf27rzw0l9fjl0cvbvw85d5ycvh6wkm301p";
+    rev = finalAttrs.version;
+    hash = "sha256-JPvoximDL4oKO8reXW7alMegwUyUTSAcdq3ueXeUMMY=";
   };
 
-  sourceRoot = "${src.name}/muse3";
-
-  patches = [ ./fix-parallel-building.patch ];
+  sourceRoot = "${finalAttrs.src.name}/src";
 
   nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ];
 
   buildInputs = [
-    alsa-lib dssi fluidsynth ladspaH lash libinstpatch libjack2 liblo
-    libsamplerate libsndfile lilv lrdf lv2 qtsvg rtaudio rubberband sord
+    alsa-lib
+    dssi
+    fluidsynth
+    ladspaH
+    lash
+    libinstpatch
+    libjack2
+    liblo
+    libsamplerate
+    libsndfile
+    lilv
+    lrdf
+    lv2
+    qtsvg
+    rtaudio
+    rubberband
+    sord
   ];
 
   env.NIX_CFLAGS_COMPILE = toString [ "-I${lib.getDev serd}/include/serd-0" ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://muse-sequencer.github.io/";
     description = "MIDI/Audio sequencer with recording and editing capabilities";
     longDescription = ''
@@ -38,7 +73,9 @@ stdenv.mkDerivation rec {
       MusE aims to be a complete multitrack virtual studio for Linux,
       it is published under the GNU General Public License.
     '';
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ orivej ];
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ eclairevoyant orivej ];
+    platforms = lib.platforms.linux;
+    mainProgram = "muse4";
   };
-}
+})
diff --git a/nixpkgs/pkgs/applications/audio/muse/fix-parallel-building.patch b/nixpkgs/pkgs/applications/audio/muse/fix-parallel-building.patch
deleted file mode 100644
index a11970b7111a..000000000000
--- a/nixpkgs/pkgs/applications/audio/muse/fix-parallel-building.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-To confirm these dependencies, run in a fresh build tree:
-
-
-ninja muse/components/CMakeFiles/components.dir/confmport.o
-
-In file included from ../muse/components/confmport.cpp:48:
-../muse/mplugins/midifilterimpl.h:28:10: fatal error:
-ui_midifilter.h: No such file or directory
-
-
-ninja muse/waveedit/CMakeFiles/waveedit.dir/wavecanvas.o
-
-In file included from ../muse/waveedit/wavecanvas.cpp:72:
-../muse/components/copy_on_write.h:26:10: fatal error:
-ui_copy_on_write_base.h: No such file or directory
-
-
-ninja muse/instruments/CMakeFiles/instruments.dir/editinstrument.o
-
-In file included from ../muse/instruments/editinstrument.cpp:58:
-../muse/components/editevent.h:26:10: fatal error:
-ui_editnotedialogbase.h: No such file or directory
-
-
-ninja muse/liste/CMakeFiles/liste.dir/listedit.o
-
-In file included from ../muse/liste/listedit.cpp:37:
-../muse/components/editevent.h:26:10: fatal error:
-ui_editnotedialogbase.h: No such file or directory
-
-
-ninja muse/mixer/CMakeFiles/mixer.dir/rack.o
-
-In file included from ../muse/mixer/rack.cpp:49:
-../muse/components/plugindialog.h:4:10: fatal error:
-ui_plugindialogbase.h: No such file or directory
-
-
-ninja muse/midiedit/CMakeFiles/midiedit.dir/drumedit.o
-
-In file included from /build/source/muse3/muse/midiedit/drumedit.cpp:64:
-/build/source/muse3/muse/components/filedialog.h:29:10: fatal error:
-ui_fdialogbuttons.h: No such file or directory
-
-
---- a/muse/components/CMakeLists.txt
-+++ b/muse/components/CMakeLists.txt
-@@ -343,4 +343,5 @@ set_target_properties( components
- target_link_libraries ( components
-       ${QT_LIBRARIES}
-+      mplugins
-       widgets
-       xml_module
---- a/muse/waveedit/CMakeLists.txt
-+++ b/muse/waveedit/CMakeLists.txt
-@@ -79,4 +79,5 @@ set_target_properties( waveedit
- target_link_libraries( waveedit
-       ${QT_LIBRARIES}
-+      components
-       widgets
-       )
---- a/muse/instruments/CMakeLists.txt
-+++ b/muse/instruments/CMakeLists.txt
-@@ -78,4 +78,5 @@ set_target_properties( instruments
- target_link_libraries ( instruments
-       ${QT_LIBRARIES}
-+      components
-       icons
-       widgets
---- a/muse/liste/CMakeLists.txt
-+++ b/muse/liste/CMakeLists.txt
-@@ -65,4 +65,5 @@ set_target_properties( liste
- target_link_libraries ( liste
-       ${QT_LIBRARIES}
-+      components
-       awl
-       widgets
---- a/muse/mixer/CMakeLists.txt
-+++ b/muse/mixer/CMakeLists.txt
-@@ -87,4 +87,5 @@ set_target_properties ( mixer
- target_link_libraries ( mixer
-       ${QT_LIBRARIES}
-+      components
-       widgets
-       )
---- a/muse/midiedit/CMakeLists.txt
-+++ b/muse/midiedit/CMakeLists.txt
-@@ -93,4 +93,5 @@ set_target_properties( midiedit
- target_link_libraries ( midiedit
-       ${QT_LIBRARIES}
-+      components
-       al
-       ctrl
diff --git a/nixpkgs/pkgs/applications/audio/music-player/default.nix b/nixpkgs/pkgs/applications/audio/music-player/default.nix
index 0a59f568f2bd..e44963090a1f 100644
--- a/nixpkgs/pkgs/applications/audio/music-player/default.nix
+++ b/nixpkgs/pkgs/applications/audio/music-player/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "music-player";
-  version = "0.2.0-alpha.13";
+  version = "0.2.0-alpha.14";
 
   src = fetchFromGitHub {
     owner = "tsirysndr";
     repo = "music-player";
     rev = "v${version}";
-    hash = "sha256-LuO64E5kJdMgd5h0+Sb8Wg7hxUmS8E7bKT3NIyd9+Lc=";
+    hash = "sha256-l8Y1fc5v0YDm87b+d3DuMgKFiem6WFfJEASplHoqva0=";
   };
 
-  cargoHash = "sha256-Xn0OUHMgKxzDvhO+xRv5jMa50OzEtl6yhHbJ1R/a56Y=";
+  cargoHash = "sha256-nnOHuAn+eGf+iiX3QbDTH4zHMQ6KV4QP6RnyBhLMrEc=";
 
   nativeBuildInputs = [
     protobuf
diff --git a/nixpkgs/pkgs/applications/audio/mympd/default.nix b/nixpkgs/pkgs/applications/audio/mympd/default.nix
index c9f50e8bcf9b..3a9ab98690a1 100644
--- a/nixpkgs/pkgs/applications/audio/mympd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mympd/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mympd";
-  version = "11.0.4";
+  version = "11.0.5";
 
   src = fetchFromGitHub {
     owner = "jcorporation";
     repo = "myMPD";
     rev = "v${version}";
-    sha256 = "sha256-uDr0QyyYROpaWQ7sv/JeI9IHwdJaFWorIqWMHs5XKU4=";
+    sha256 = "sha256-m+EO3+vVqX7/SNvbQrJVjhG53Q20f6cEJ2HNUdWeeiw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/non/default.nix b/nixpkgs/pkgs/applications/audio/non/default.nix
index 39b8ecf7a6af..8afcd1c02709 100644
--- a/nixpkgs/pkgs/applications/audio/non/default.nix
+++ b/nixpkgs/pkgs/applications/audio/non/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, python3, cairo, libjpeg, ntk, libjack2
-, libsndfile, ladspaH, liblo, libsigcxx, lrdf, wafHook
+, libsndfile, ladspaH, liblo, libsigcxx, lrdf, waf
 }:
 
 stdenv.mkDerivation {
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "sha256-iMJNMDytNXpEkUhL0RILSd25ixkm8HL/edtOZta0Pf4=";
   };
 
-  nativeBuildInputs = [ pkg-config wafHook ];
+  nativeBuildInputs = [ pkg-config waf.hook ];
   buildInputs = [ python3 cairo libjpeg ntk libjack2 libsndfile
                   ladspaH liblo libsigcxx lrdf
   ];
diff --git a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix b/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
index b0be671d9cd0..3618a1b17bc7 100644
--- a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ocenaudio";
-  version = "3.12.5";
+  version = "3.12.6";
 
   src = fetchurl {
     url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}";
-    sha256 = "sha256-+edswdSwuEiGpSNP7FW6xvZy/rH53KcSSGAFXSb0DIM=";
+    sha256 = "sha256-kQR0FaZbcdKf1yKHwTA525qzyFldSESQq6NRSZipUQw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/parrot/default.nix b/nixpkgs/pkgs/applications/audio/parrot/default.nix
new file mode 100644
index 000000000000..04153c54d9ba
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/parrot/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, ffmpeg
+, libopus
+, makeBinaryWrapper
+, nix-update-script
+, openssl
+, pkg-config
+, stdenv
+, yt-dlp
+, Security
+}:
+let
+  version = "1.6.0";
+in
+rustPlatform.buildRustPackage {
+  pname = "parrot";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "aquelemiguel";
+    repo = "parrot";
+    rev = "v${version}";
+    hash = "sha256-f6YAdsq2ecsOCvk+A8wsUu+ywQnW//gCAkVLF0HTn8c=";
+  };
+
+  cargoHash = "sha256-e4NHgwoNkZ0//rugHrP0gU3pntaMeBJsV/YSzJfD8r4=";
+
+  nativeBuildInputs = [ cmake makeBinaryWrapper pkg-config ];
+
+  buildInputs = [ libopus openssl ]
+    ++ lib.optionals stdenv.isDarwin [ Security ];
+
+  postInstall = ''
+    wrapProgram $out/bin/parrot \
+      --prefix PATH : ${lib.makeBinPath [ ffmpeg yt-dlp ]}
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "A hassle-free Discord music bot";
+    homepage = "https://github.com/aquelemiguel/parrot";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ gerg-l ];
+    mainProgram = "parrot";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/patchage/default.nix b/nixpkgs/pkgs/applications/audio/patchage/default.nix
index 99bbdf693a9c..603f42886739 100644
--- a/nixpkgs/pkgs/applications/audio/patchage/default.nix
+++ b/nixpkgs/pkgs/applications/audio/patchage/default.nix
@@ -10,7 +10,7 @@
 , libjack2
 , pkg-config
 , python3
-, wafHook
+, waf
 }:
 
 stdenv.mkDerivation rec {
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     gtkmm2
     libjack2
     python3
-    wafHook
+    waf.hook
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/audio/picard/default.nix b/nixpkgs/pkgs/applications/audio/picard/default.nix
index f5f420aab0bd..a9eab5835db4 100644
--- a/nixpkgs/pkgs/applications/audio/picard/default.nix
+++ b/nixpkgs/pkgs/applications/audio/picard/default.nix
@@ -58,6 +58,8 @@ pythonPackages.buildPythonApplication rec {
     pyyaml
   ];
 
+  setupPyGlobalFlags = [ "build" "--disable-autoupdate" ];
+
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
diff --git a/nixpkgs/pkgs/applications/audio/praat/default.nix b/nixpkgs/pkgs/applications/audio/praat/default.nix
index e4cb6ecb690b..8b2770ecd27e 100644
--- a/nixpkgs/pkgs/applications/audio/praat/default.nix
+++ b/nixpkgs/pkgs/applications/audio/praat/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "praat";
-  version = "6.3.15";
+  version = "6.3.16";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Lo0aJ3BbFkZxAJZyOTzso9esYnkTkeKAFNUi7Q2d/hI=";
+    hash = "sha256-0g16EblefuUU99RgcwtGrPWniGGlOt6GjVjyNdzN3GY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/qmidiroute/default.nix b/nixpkgs/pkgs/applications/audio/qmidiroute/default.nix
deleted file mode 100644
index 35aea5bd086b..000000000000
--- a/nixpkgs/pkgs/applications/audio/qmidiroute/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, qt4, alsa-lib }:
-
-stdenv.mkDerivation rec {
-  version = "0.4.0";
-  pname = "qmidiroute";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/alsamodular/QMidiRoute/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0vmjwarsxr5540rafhmdcc62yarf0w2l05bjjl9s28zzr5m39z3n";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ qt4 alsa-lib ];
-
-  meta = with lib; {
-    description = "MIDI event processor and router";
-    longDescription = ''
-    qmidiroute is a versatile MIDI event processor and router for the ALSA
-    sequencer.  The graphical  interface  is  based  on  the  Qt4  toolkit.
-    qmidiroute permits setting up an unlimited number of MIDI maps in which
-    incoming events are selected, modified or even changed in  type  before
-    being  directed  to  a  dedicated  ALSA  output  port. The maps work in
-    parallel, and they are organized in tabs.
-    '';
-
-    license = licenses.gpl2;
-    maintainers = [ maintainers.lebastr ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/qtscrobbler/default.nix b/nixpkgs/pkgs/applications/audio/qtscrobbler/default.nix
deleted file mode 100644
index 081b0c928892..000000000000
--- a/nixpkgs/pkgs/applications/audio/qtscrobbler/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, lib, fetchurl, withMtp ? true, libmtp, pkg-config, which, qt4, qmake4Hook }:
-
-stdenv.mkDerivation rec {
-  pname = "qtscrobbler";
-  version = "0.11";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/qtscrob/qtscrob/${version}/qtscrob-${version}.tar.bz2";
-    sha256 = "01c8e48f616ed09504833d27d92fd62f455bd645ea2d1cc2a5f4c287d641daba";
-  };
-
-  nativeBuildInputs = [ qmake4Hook ] ++ lib.optionals withMtp [ pkg-config which ];
-  buildInputs = [ qt4 ] ++ lib.optional withMtp libmtp;
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    cd src
-    sed -i -e "s,/usr/local,$out," -e "s,/usr,," common.pri
-  '';
-
-  meta = with lib; {
-    description = "Qt based last.fm scrobbler";
-    longDescription = ''
-      QTScrobbler is a tool to upload information about the tracks you have played from your Digital Audio Player (DAP) to your last.fm account.
-      It is able to gather this information from Apple iPods or DAPs running the Rockbox replacement firmware.
-    '';
-
-    homepage = "https://qtscrob.sourceforge.net";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vanzef ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/quodlibet/default.nix b/nixpkgs/pkgs/applications/audio/quodlibet/default.nix
index f0dc71aa4775..eacce636df4e 100644
--- a/nixpkgs/pkgs/applications/audio/quodlibet/default.nix
+++ b/nixpkgs/pkgs/applications/audio/quodlibet/default.nix
@@ -1,14 +1,13 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , tag ? ""
 
-# build time
+  # build time
 , gettext
 , gobject-introspection
 , wrapGAppsHook
 
-# runtime
+  # runtime
 , adwaita-icon-theme
 , gdk-pixbuf
 , glib
@@ -23,20 +22,22 @@
 , libsoup
 , webkitgtk
 
-# optional features
+  # optional features
 , withDbusPython ? false
-, withPypresence ? false
-, withPyInotify ? false
 , withMusicBrainzNgs ? false
 , withPahoMqtt ? false
+, withPyInotify ? false
+, withPypresence ? false
 , withSoco ? false
 
-# backends
-, withGstreamerBackend ? true, gst_all_1
+  # backends
 , withGstPlugins ? withGstreamerBackend
-, withXineBackend ? true, xine-lib
+, withGstreamerBackend ? true
+, gst_all_1
+, withXineBackend ? true
+, xine-lib
 
-# tests
+  # tests
 , dbus
 , glibcLocales
 , hicolor-icon-theme
@@ -46,36 +47,25 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "quodlibet${tag}";
-  version = "4.5.0";
+  version = "4.6.0";
   format = "pyproject";
 
+  outputs = [ "out" "doc" ];
+
   src = fetchFromGitHub {
     owner = "quodlibet";
     repo = "quodlibet";
     rev = "refs/tags/release-${version}";
-    hash = "sha256-G6zcdnHkevbVCrMoseWoSia5ajEor8nZhee6NeZIs8Q=";
+    hash = "sha256-dkO/CFN7Dk72xhtmcSDcwUciOPMeEjQS2mch+jSfiII=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fixes cover globbing under python 3.10.5+
-      url = "https://github.com/quodlibet/quodlibet/commit/5eb7c30766e1dcb30663907664855ee94a3accc0.patch";
-      hash = "sha256-bDyEOE7Vs4df4BeN4QMvt6niisVEpvc1onmX5rtoAWc=";
-    })
-  ];
-
-  outputs = [
-    "out"
-    "doc"
-  ];
-
   nativeBuildInputs = [
     gettext
     gobject-introspection
     wrapGAppsHook
   ] ++ (with python3.pkgs; [
-    sphinxHook
     sphinx-rtd-theme
+    sphinxHook
   ]);
 
   buildInputs = [
@@ -111,14 +101,12 @@ python3.pkgs.buildPythonApplication rec {
     pygobject3
   ]
   ++ lib.optionals withDbusPython [ dbus-python ]
-  ++ lib.optionals withPypresence [ pypresence ]
-  ++ lib.optionals withPyInotify [ pyinotify ]
   ++ lib.optionals withMusicBrainzNgs [ musicbrainzngs ]
   ++ lib.optionals withPahoMqtt [ paho-mqtt ]
+  ++ lib.optionals withPyInotify [ pyinotify ]
+  ++ lib.optionals withPypresence [ pypresence ]
   ++ lib.optionals withSoco [ soco ];
 
-  LC_ALL = "en_US.UTF-8";
-
   nativeCheckInputs = [
     dbus
     gdk-pixbuf
@@ -132,23 +120,23 @@ python3.pkgs.buildPythonApplication rec {
   ]);
 
   pytestFlags = [
-    # requires networking
-    "--deselect=tests/test_browsers_iradio.py::TIRFile::test_download_tags"
     # missing translation strings in potfiles
     "--deselect=tests/test_po.py::TPOTFILESIN::test_missing"
+    # require networking
+    "--deselect=tests/plugin/test_covers.py::test_live_cover_download"
+    "--deselect=tests/test_browsers_iradio.py::TInternetRadio::test_click_add_station"
     # upstream does actually not enforce source code linting
     "--ignore=tests/quality"
-    # build failure on Arch Linux
-    # https://github.com/NixOS/nixpkgs/pull/77796#issuecomment-575841355
-    "--ignore=tests/test_operon.py"
   ] ++ lib.optionals (withXineBackend || !withGstPlugins) [
     "--ignore=tests/plugin/test_replaygain.py"
   ];
 
+  env.LC_ALL = "en_US.UTF-8";
+
   preCheck = ''
-    export XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS"
     export GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
     export HOME=$(mktemp -d)
+    export XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS"
   '';
 
   checkPhase = ''
@@ -167,8 +155,6 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "GTK-based audio player written in Python, using the Mutagen tagging library";
-    license = licenses.gpl2Plus;
-
     longDescription = ''
       Quod Libet is a GTK-based audio player written in Python, using
       the Mutagen tagging library. It's designed around the idea that
@@ -182,8 +168,8 @@ python3.pkgs.buildPythonApplication rec {
       player, like Unicode support, tag editing, Replay Gain, podcasts
       & internet radio, and all major audio formats.
     '';
-
-    maintainers = with maintainers; [ coroa pbogdan ];
-    homepage = "https://quodlibet.readthedocs.io/en/latest/";
+    homepage = "https://quodlibet.readthedocs.io/en/latest";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ coroa paveloom pbogdan ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix b/nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix
deleted file mode 100644
index 7a6399ff3c66..000000000000
--- a/nixpkgs/pkgs/applications/audio/soundscape-renderer/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, autoreconfHook
-, help2man
-, pkg-config
-, libsndfile
-, fftwFloat
-, libjack2
-, libxml2
-, qt4
-, boost
-, ecasound
-, glibcLocales
-, libGLU
-, libGL # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
-}:
-
-stdenv.mkDerivation {
-  pname = "soundscape-renderer";
-  version = "unstable-2016-11-03";
-
-  src = fetchFromGitHub {
-    owner = "SoundScapeRenderer";
-    repo = "ssr";
-    rev = "0dd0136dd24e47b63d8a4e05de467f5c7b047ec9";
-    sha256 = "sha256-9s+Elaxz9kX+Nle1CqBU/9r0hdI4dhsJ6GrNqvP5HIs=";
-  };
-
-  # Without it doesn't find all of the boost libraries.
-  BOOST_LIB_DIR = "${boost}/lib";
-  # uses the deprecated get_generic_category() in boost_system
-  env.NIX_CFLAGS_COMPILE = "-DBOOST_SYSTEM_ENABLE_DEPRECATED=1";
-
-  LC_ALL = "en_US.UTF-8";
-
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ boost boost.dev ecasound libGLU libGL help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
-
-  # 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53
-  # 2) Make it find ecasound headers
-  # 3) Fix locale for help2man
-  prePatch = ''
-    substituteInPlace configure.ac --replace 'git describe ||' 'git describe 2> /dev/null ||';
-    substituteInPlace configure.ac --replace '/{usr,opt}/{,local/}' '${ecasound}/'
-    substituteInPlace man/Makefile.am --replace '--locale=en' '--locale=en_US.UTF-8'
-  '';
-
-  meta = {
-    homepage = "http://spatialaudio.net/ssr/";
-    description = "The SoundScape Renderer (SSR) is a tool for real-time spatial audio reproduction";
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.fridh ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/applications/audio/spotify-player/default.nix b/nixpkgs/pkgs/applications/audio/spotify-player/default.nix
index 963cbe3252ea..cd2d050c9a96 100644
--- a/nixpkgs/pkgs/applications/audio/spotify-player/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotify-player/default.nix
@@ -24,6 +24,9 @@
 , withImage ? true
 , withNotify ? true
 , withSixel ? true
+, stdenv
+, darwin
+, makeBinaryWrapper
 }:
 
 assert lib.assertOneOf "withAudioBackend" withAudioBackend [ "" "alsa" "pulseaudio" "rodio" "portaudio" "jackaudio" "rodiojack" "sdl" "gstreamer" ];
@@ -44,6 +47,9 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [
     pkg-config
     cmake
+    rustPlatform.bindgenHook
+  ] ++ lib.optionals stdenv.isDarwin [
+    makeBinaryWrapper
   ];
 
   buildInputs = [
@@ -59,7 +65,13 @@ rustPlatform.buildRustPackage rec {
     ++ lib.optionals (withAudioBackend == "jackaudio") [ libjack2 ]
     ++ lib.optionals (withAudioBackend == "rodiojack") [ alsa-lib libjack2 ]
     ++ lib.optionals (withAudioBackend == "sdl") [ SDL2 ]
-    ++ lib.optionals (withAudioBackend == "gstreamer") [ gst_all_1.gstreamer gst_all_1.gst-devtools gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
+    ++ lib.optionals (withAudioBackend == "gstreamer") [ gst_all_1.gstreamer gst_all_1.gst-devtools gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]
+    ++ lib.optionals (stdenv.isDarwin && withMediaControl) [ darwin.apple_sdk.frameworks.MediaPlayer ]
+    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+      AppKit
+      AudioUnit
+      Cocoa
+    ]);
 
   buildNoDefaultFeatures = true;
 
@@ -73,6 +85,12 @@ rustPlatform.buildRustPackage rec {
     ++ lib.optionals withStreaming [ "streaming" ]
     ++ lib.optionals withSixel [ "sixel" ];
 
+  # sixel-sys is dynamically linked to libsixel
+  postInstall = lib.optionals (stdenv.isDarwin && withSixel) ''
+    wrapProgram $out/bin/spotify_player \
+      --prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [libsixel]}"
+  '';
+
   meta = {
     description = "A terminal spotify player that has feature parity with the official client";
     homepage = "https://github.com/aome510/spotify-player";
diff --git a/nixpkgs/pkgs/applications/audio/transcribe/default.nix b/nixpkgs/pkgs/applications/audio/transcribe/default.nix
index e70f9521756e..389580cf51a2 100644
--- a/nixpkgs/pkgs/applications/audio/transcribe/default.nix
+++ b/nixpkgs/pkgs/applications/audio/transcribe/default.nix
@@ -22,14 +22,14 @@
 
 stdenv.mkDerivation rec {
   pname = "transcribe";
-  version = "9.25";
+  version = "9.30.2";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchzip
         {
-          url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-${version}.0.tar.gz";
-          sha256 = "sha256-vgl3BCAC7gOYTviHJzMbgZfHTpP90XUvxpC1IhvEZ8I=";
+          url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-${version}.tar.gz";
+          sha256 = "sha256-EZyQsO3tSedMaZIhJWc7j3f7ikBf6XqXLUgdAiQdr14=";
         }
     else throw "Platform not supported";
 
diff --git a/nixpkgs/pkgs/applications/audio/youtube-music/default.nix b/nixpkgs/pkgs/applications/audio/youtube-music/default.nix
index 91cf74e65d0c..d6313c6bd84f 100644
--- a/nixpkgs/pkgs/applications/audio/youtube-music/default.nix
+++ b/nixpkgs/pkgs/applications/audio/youtube-music/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, appimageTools, }:
+{ lib, fetchurl, appimageTools, makeWrapper }:
 
 let
   pname = "youtube-music";
@@ -11,13 +11,16 @@ let
 
   appimageContents = appimageTools.extract { inherit pname version src; };
 in
-appimageTools.wrapType2 rec {
+(appimageTools.wrapType2 rec {
   inherit pname version src;
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
     ++ [ pkgs.libappindicator ];
 
   extraInstallCommands = ''
     mv $out/bin/{${pname}-${version},${pname}}
+    wrapProgram "$out/bin/${pname}" \
+       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}"
+
     install -m 444 \
         -D ${appimageContents}/youtube-music.desktop \
         -t $out/share/applications
@@ -36,4 +39,6 @@ appimageTools.wrapType2 rec {
     maintainers = [ maintainers.aacebedo ];
     mainProgram = "youtube-music";
   };
-}
+}).overrideAttrs ({ nativeBuildInputs ? [ ], ... }: {
+  nativeBuildInputs = nativeBuildInputs ++ [ makeWrapper ];
+})