about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/audio
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
committerAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
commit99fcaeccb89621dd492203ce1f2d551c06f228ed (patch)
tree41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/audio
parent59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff)
parent75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff)
downloadnixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/nixos/modules/config/console.nix
	nixpkgs/nixos/modules/services/mail/mailman.nix
	nixpkgs/nixos/modules/services/mail/public-inbox.nix
	nixpkgs/nixos/modules/services/mail/rss2email.nix
	nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
	nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
	nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/go/module.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/interpreters/python/default.nix
	nixpkgs/pkgs/development/node-packages/overrides.nix
	nixpkgs/pkgs/development/tools/b4/default.nix
	nixpkgs/pkgs/servers/dict/dictd-db.nix
	nixpkgs/pkgs/servers/mail/public-inbox/default.nix
	nixpkgs/pkgs/tools/security/pinentry/default.nix
	nixpkgs/pkgs/tools/text/unoconv/default.nix
	nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/audio')
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/cubeb/default.nix68
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/game-music-emu/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libgme/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libopenmpt/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lv2/default.nix54
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch24
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch31
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix41
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/sratom/default.nix61
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/suil/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zix/default.nix42
17 files changed, 286 insertions, 163 deletions
diff --git a/nixpkgs/pkgs/development/libraries/audio/cubeb/default.nix b/nixpkgs/pkgs/development/libraries/audio/cubeb/default.nix
new file mode 100644
index 000000000000..baad8a1efd64
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/cubeb/default.nix
@@ -0,0 +1,68 @@
+{ lib, stdenv, fetchFromGitHub
+, cmake
+, pkg-config
+, alsa-lib
+, jack2
+, libpulseaudio
+, sndio
+, speexdsp
+, AudioUnit
+, CoreAudio
+, CoreServices
+, lazyLoad ? !stdenv.isDarwin
+}:
+
+assert lib.assertMsg (stdenv.isDarwin -> !lazyLoad) "cubeb: lazyLoad is inert on Darwin";
+
+let
+  backendLibs = [
+    alsa-lib
+    jack2
+    libpulseaudio
+    sndio
+  ];
+
+in stdenv.mkDerivation {
+  pname = "cubeb";
+  version = "unstable-2022-10-18";
+
+  src = fetchFromGitHub {
+    owner = "mozilla";
+    repo = "cubeb";
+    rev = "27d2a102b0b75d9e49d43bc1ea516233fb87d778";
+    hash = "sha256-q+uz1dGU4LdlPogL1nwCR/KuOX4Oy3HhMdA6aJylBRk=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [ speexdsp ] ++ (
+    if stdenv.isDarwin then [ AudioUnit CoreAudio CoreServices ]
+    else backendLibs
+  );
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DBUILD_TESTS=OFF" # tests require an audio server
+    "-DBUNDLE_SPEEX=OFF"
+    "-DUSE_SANITIZERS=OFF"
+
+    # Whether to lazily load libraries with dlopen()
+    "-DLAZY_LOAD_LIBS=${if lazyLoad then "ON" else "OFF"}"
+  ];
+
+  passthru = {
+    # For downstream users when lazyLoad is true
+    backendLibs = lib.optionals lazyLoad backendLibs;
+  };
+
+  meta = with lib; {
+    description = "Cross platform audio library";
+    homepage = "https://github.com/mozilla/cubeb";
+    license = licenses.isc;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/game-music-emu/default.nix b/nixpkgs/pkgs/development/libraries/audio/game-music-emu/default.nix
new file mode 100644
index 000000000000..a10aace767be
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/game-music-emu/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchurl, cmake, removeReferencesTo }:
+
+stdenv.mkDerivation rec {
+  version = "0.6.3";
+  pname = "game-music-emu";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${pname}-${version}.tar.xz";
+    sha256 = "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb";
+  };
+  cmakeFlags = lib.optionals (stdenv.isDarwin || stdenv.hostPlatform.isMusl) [ "-DENABLE_UBSAN=OFF" ];
+  nativeBuildInputs = [ cmake removeReferencesTo ];
+
+  # It used to reference it, in the past, but thanks to the postFixup hook, now
+  # it doesn't.
+  disallowedReferences = [ stdenv.cc.cc ];
+
+  postFixup = lib.optionalString stdenv.isLinux ''
+    remove-references-to -t ${stdenv.cc.cc} "$(readlink -f $out/lib/libgme.so)"
+  '';
+
+  meta = with lib; {
+    homepage = "https://bitbucket.org/mpyne/game-music-emu/wiki/Home";
+    description = "A collection of video game music file emulators";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ luc65r lheckemann ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix b/nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix
index 720823852b02..fa390eaaa588 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   meta = {
-    homepage = "http://bs2b.sourceforge.net/";
+    homepage = "https://bs2b.sourceforge.net/";
     description = "Bauer stereophonic-to-binaural DSP library";
     license = lib.licenses.mit;
     platforms = lib.platforms.unix;
diff --git a/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix b/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix
deleted file mode 100644
index d78756b0ca45..000000000000
--- a/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchFromBitbucket, cmake, removeReferencesTo }:
-
-stdenv.mkDerivation rec {
-  pname = "libgme";
-  version = "0.6.3";
-
-  meta = with lib; {
-    description = "A collection of video game music chip emulators";
-    homepage = "https://bitbucket.org/mpyne/game-music-emu/overview";
-    license = licenses.lgpl21;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ lheckemann ];
-  };
-
-  src = fetchFromBitbucket {
-    owner = "mpyne";
-    repo = "game-music-emu";
-    rev = version;
-    sha256 = "100ahb4n4pvgcry9xzlf2fr4j57n5h9x7pvyhhxys4dcy8axqqsy";
-  };
-
-  nativeBuildInputs = [ cmake removeReferencesTo ];
-
-  # These checks fail on aarch64-darwin
-  cmakeFlags = [ "-DENABLE_UBSAN=OFF" ];
-
-  # It used to reference it, in the past, but thanks to the postFixup hook, now
-  # it doesn't.
-  disallowedReferences = [ stdenv.cc.cc ];
-
-  postFixup = lib.optionalString stdenv.isLinux ''
-    remove-references-to -t ${stdenv.cc.cc} "$(readlink -f $out/lib/libgme.so)"
-  '';
-}
diff --git a/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix b/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix
index 65e4d0fb15ee..0742297cb69f 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libkeyfinder/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, fftw, catch2 }:
+{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, fftw, catch2 }:
 
 stdenv.mkDerivation rec {
   pname = "libkeyfinder";
@@ -11,11 +11,20 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-7w/Wc9ncLinbnM2q3yv5DBtFoJFAM2e9xAUTsqvE9mg=";
   };
 
+  # in main post 2.2.6, see https://github.com/mixxxdj/libkeyfinder/issues/21
+  patches = [
+    (fetchpatch {
+      name = "fix-pkg-config";
+      url = "https://github.com/mixxxdj/libkeyfinder/commit/4e1a5022d4c91e3ecfe9be5c3ac7cc488093bd2e.patch";
+      sha256 = "08llmgp6r11bq5s820j3fs9bgriaibkhq8r3v2av064w66mwp48x";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ fftw ];
 
-  checkInputs = [ catch2 ];
+  nativeCheckInputs = [ catch2 ];
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
index 5626c5fa8f8d..a5ecbdcfccce 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
@@ -2,15 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysofa";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "hoene";
     repo = "libmysofa";
     rev = "v${version}";
-    sha256 = "sha256-SCyeicZ+JkJU1x2X3efOvxUXT2qF2IiUsj+anLg5Lsg=";
+    sha256 = "sha256-QEfkeofsVxB9gyISL/P7bvnbcBuG7Q3A4UoAyQAXxgE=";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
diff --git a/nixpkgs/pkgs/development/libraries/audio/libopenmpt/default.nix b/nixpkgs/pkgs/development/libraries/audio/libopenmpt/default.nix
index bd383ffe39c4..f058be4b645d 100644
--- a/nixpkgs/pkgs/development/libraries/audio/libopenmpt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/libopenmpt/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libopenmpt";
-  version = "0.6.4";
+  version = "0.7.1";
 
   outputs = [ "out" "dev" "bin" ];
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "4J+4RcMpJwCnrBPDsx1mns072+vL/hMo66I3bOvkAWI=";
+    hash = "sha256-vxddJkSLsTP3RxTzqIWecAC5NSL7NXdVnf/ANxYZEPk=";
   };
 
   enableParallelBuilding = true;
@@ -39,11 +39,15 @@ stdenv.mkDerivation rec {
     portaudio
     libsndfile
     flac
-  ] ++ lib.optional usePulseAudio libpulseaudio;
+  ] ++ lib.optionals usePulseAudio [
+    libpulseaudio
+  ];
 
-  configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio";
+  configureFlags = [
+    (lib.strings.withFeature usePulseAudio "pulseaudio")
+  ];
 
-  doCheck = true;
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
 
   postFixup = ''
     moveToOutput share/doc $dev
diff --git a/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
index 6371a52b4dff..d0f85c95a077 100644
--- a/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
@@ -1,45 +1,59 @@
 { stdenv
 , lib
 , fetchurl
-, libsndfile
-, pkg-config
-, python3
-, wafHook
+, meson
+, ninja
+
 , pipewire
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "lv2";
-  version = "1.18.2";
+  version = "1.18.10";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "https://lv2plug.in/spec/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-TokfvHRMBYVb6136gugisUkX3Wbpj4K4Iw29HHqy4F4=";
+    url = "https://lv2plug.in/spec/${pname}-${version}.tar.xz";
+    hash = "sha256-eMUbzyG1Tli7Yymsy7Ta4Dsu15tSD5oB5zS9neUwlT8=";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [
-    pkg-config
-    wafHook
-    python3
+    meson
+    ninja
   ];
 
-  buildInputs = [
-    libsndfile
-    python3
-  ];
+  buildInputs = [ ];
 
-  wafConfigureFlags = [
-    "--includedir=${placeholder "dev"}/include"
+  mesonFlags = [
+    # install validators to $dev
     "--bindir=${placeholder "dev"}/bin"
+
+    # These are just example plugins. They pull in outdated gtk-2
+    # dependency and many other things. Upstream would like to
+    # eventually move them of the project:
+    #   https://gitlab.com/lv2/lv2/-/issues/57#note_1096060029
+    "-Dplugins=disabled"
+    # Pulls in spell checkers among other things.
+    "-Dtests=disabled"
+    # Avoid heavyweight python dependencies.
+    "-Ddocs=disabled"
   ] ++ lib.optionals stdenv.isDarwin [
-    "--lv2dir=${placeholder "out"}/lib/lv2"
+    "-Dlv2dir=${placeholder "out"}/lib/lv2"
   ];
-  dontAddWafCrossFlags = true;
 
-  passthru.tests = {
-    inherit pipewire;
+  passthru = {
+    tests = {
+      inherit pipewire;
+    };
+    updateScript = gitUpdater {
+      # No nicer place to find latest release.
+      url = "https://gitlab.com/lv2/lv2.git";
+      rev-prefix = "v";
+    };
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix b/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
index 414634f07070..9822640f8d67 100644
--- a/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, boost, gtkmm2, lv2, pkg-config, python2, wafHook }:
+{ lib, stdenv, fetchFromGitHub, boost, gtkmm2, lv2, pkg-config, python3, wafHook }:
 
 stdenv.mkDerivation rec {
   pname = "lvtk";
@@ -11,14 +11,20 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-6IoyhBig3Nvc4Y8F0w8b1up6sn8O2RmoUVaBQ//+Aaw=";
   };
 
-  nativeBuildInputs = [ pkg-config python2 wafHook ];
+  nativeBuildInputs = [ pkg-config python3 wafHook ];
   buildInputs = [ boost gtkmm2 lv2 ];
 
   enableParallelBuilding = true;
 
-  # Fix including the boost libraries during linking
   postPatch = ''
+    # Fix including the boost libraries during linking
     sed -i '/target[ ]*= "ttl2c"/ ilib=["boost_system"],' tools/wscript_build
+
+    # don't use bundled waf
+    rm waf
+
+    # remove (useless) python2 based print
+    sed -e '/print/d' -i wscript
   '';
 
   wafConfigureFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix b/nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix
index a9163a257764..59f7d169291b 100644
--- a/nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     "LIBDIR=${placeholder "out"}/lib"
   ];
 
-  NIX_CFLAGS_COMPILE = "-I${kissfft}/include/kissfft";
+  env.NIX_CFLAGS_COMPILE = "-I${kissfft}/include/kissfft";
 
   meta = with lib; {
     description = "A C++ library of functions for DSP and Music Informatics purposes";
diff --git a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch
deleted file mode 100644
index e13dda549705..000000000000
--- a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0001-Remove-deprecated-scons-call.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From abdfbb94df98fe88be4dd92ca587500126558411 Mon Sep 17 00:00:00 2001
-From: Victor Gaydov <victor@enise.org>
-Date: Sun, 26 Jul 2020 11:54:52 +0300
-Subject: [PATCH] Remove deprecated scons call
-
----
- SConstruct | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/SConstruct b/SConstruct
-index 407025d8..04afa91f 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -49,7 +49,6 @@ env = Environment(ENV=os.environ, tools=[
- # performance tuning
- env.Decider('MD5-timestamp')
- env.SetOption('implicit_cache', 1)
--env.SourceCode('.', None)
- 
- # provide absolute path to force single sconsign file
- # per-directory sconsign files seems to be buggy with generated sources
--- 
-2.34.1
-
diff --git a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch
deleted file mode 100644
index 097f1b3ff479..000000000000
--- a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/0002-Fix-compatibility-with-new-SCons.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 15b37bb12a362c7889ac431eca4a47d6b2bdb97c Mon Sep 17 00:00:00 2001
-From: Victor Gaydov <victor@enise.org>
-Date: Sat, 5 Dec 2020 18:38:36 +0300
-Subject: [PATCH] Fix compatibility with new SCons
-
----
- site_scons/site_tools/roc/config.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/site_scons/site_tools/roc/config.py b/site_scons/site_tools/roc/config.py
-index b42b3adb..03b76be7 100644
---- a/site_scons/site_tools/roc/config.py
-+++ b/site_scons/site_tools/roc/config.py
-@@ -13,7 +13,13 @@ def _run_prog(context, src, suffix):
-     # RunProg may incorrectly use cached results from a previous run saved for
-     # different file contents but the same invocation number. To prevent this, we
-     # monkey patch its global counter with a hashsum of the file contents.
--    SCons.SConf._ac_build_counter = int(hashlib.md5(src.encode()).hexdigest(), 16)
-+    # The workaround is needed only for older versions of SCons, where
-+    # _ac_build_counter was an integer.
-+    try:
-+        if type(SCons.SConf._ac_build_counter) is int:
-+            SCons.SConf._ac_build_counter = int(hashlib.md5(src.encode()).hexdigest(), 16)
-+    except:
-+        pass
-     return context.RunProg(src, suffix)
- 
- def CheckLibWithHeaderExt(context, libs, headers, language, expr='1', run=True):
--- 
-2.34.1
-
diff --git a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix
index 98c088ed5495..878f499ccbbb 100644
--- a/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/roc-toolkit/default.nix
@@ -8,21 +8,28 @@
   libuv,
   openfecSupport ? true,
   openfec,
+  speexdsp,
   libunwindSupport ? true,
   libunwind,
   pulseaudioSupport ? true,
-  libpulseaudio
+  libpulseaudio,
+  opensslSupport ? true,
+  openssl,
+  soxSupport ? true,
+  sox
 }:
 
 stdenv.mkDerivation rec {
   pname = "roc-toolkit";
-  version = "0.1.5";
+  version = "0.2.4";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner = "roc-streaming";
     repo = "roc-toolkit";
     rev = "v${version}";
-    sha256 = "sha256:1pld340zfch4p3qaf5anrspq7vmxrgf9ddsdsq92pk49axaaz19w";
+    hash = "sha256-x4+/MIFKcos9xWhvSNWdsUQA2oLiyYS0MJE60HY/3hQ=";
   };
 
   nativeBuildInputs = [
@@ -32,20 +39,21 @@ stdenv.mkDerivation rec {
     pkg-config
   ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     libuv
-    libunwind
-    openfec
-    libpulseaudio
-  ];
+    speexdsp
+  ] ++ lib.optional openfecSupport openfec
+    ++ lib.optional libunwindSupport libunwind
+    ++ lib.optional pulseaudioSupport libpulseaudio
+    ++ lib.optional opensslSupport openssl
+    ++ lib.optional soxSupport sox;
 
   sconsFlags =
     [ "--build=${stdenv.buildPlatform.config}"
       "--host=${stdenv.hostPlatform.config}"
-      "--prefix=${placeholder "out"}"
-      "--disable-sox"
-      "--disable-doc"
-      "--disable-tests" ] ++
+      "--prefix=${placeholder "out"}" ] ++
+    lib.optional (!opensslSupport) "--disable-openssl" ++
+    lib.optional (!soxSupport) "--disable-sox" ++
     lib.optional (!libunwindSupport) "--disable-libunwind" ++
     lib.optional (!pulseaudioSupport) "--disable-pulseaudio" ++
     (if (!openfecSupport)
@@ -53,15 +61,6 @@ stdenv.mkDerivation rec {
        else [ "--with-libraries=${openfec}/lib"
               "--with-openfec-includes=${openfec.dev}/include" ]);
 
-  prePatch = lib.optionalString stdenv.isAarch64
-    "sed -i 's/c++98/c++11/g' SConstruct";
-
-  # TODO: Remove these patches in the next version.
-  patches = [
-    ./0001-Remove-deprecated-scons-call.patch
-    ./0002-Fix-compatibility-with-new-SCons.patch
-  ];
-
   meta = with lib; {
     description = "Roc is a toolkit for real-time audio streaming over the network";
     homepage = "https://github.com/roc-streaming/roc-toolkit";
diff --git a/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix b/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
index 67a66dbfe5a2..3de4ed8e774a 100644
--- a/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
@@ -1,20 +1,65 @@
-{ lib, stdenv, fetchurl, lv2, pkg-config, python3, serd, sord, wafHook }:
+{ lib
+, stdenv
+, fetchurl
+, lv2
+, meson
+, ninja
+, pkg-config
+, serd
+, sord
+, writeScript
+}:
 
 stdenv.mkDerivation rec {
   pname = "sratom";
-  version = "0.6.8";
+  version = "0.6.14";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-Ossysa3Forf6za3i4IGLzWxx8j+EoevBeBW7eg0tAt8=";
+    url = "https://download.drobilla.net/${pname}-${version}.tar.xz";
+    hash = "sha256-mYL69A24Ou3Zs4UOSZ/s1oUri0um3t5RQBNlXP+soeY=";
   };
 
-  nativeBuildInputs = [ pkg-config wafHook python3 ];
-  buildInputs = [ lv2 serd sord ];
-  dontAddWafCrossFlags = true;
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    lv2
+    serd
+    sord
+  ];
+
+  postPatch = ''
+    patchShebangs --build scripts/dox_to_sphinx.py
+  '';
+
+  mesonFlags = [
+    "-Ddocs=disabled"
+  ];
+
+  passthru = {
+    updateScript = writeScript "update-sratom" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p curl pcre common-updater-scripts
+
+      set -eu -o pipefail
+
+      # Expect the text in format of 'download.drobilla.net/sratom-0.30.16.tar.xz">'
+      new_version="$(curl -s https://drobilla.net/category/sratom/ |
+          pcregrep -o1 'download.drobilla.net/sratom-([0-9.]+).tar.xz' |
+          head -n1)"
+      update-source-version ${pname} "$new_version"
+    '';
+  };
 
   meta = with lib; {
-    homepage = "http://drobilla.net/software/sratom";
+    homepage = "https://drobilla.net/software/sratom";
     description = "A library for serialising LV2 atoms to/from RDF";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
diff --git a/nixpkgs/pkgs/development/libraries/audio/suil/default.nix b/nixpkgs/pkgs/development/libraries/audio/suil/default.nix
index ac10472e014e..3dc3bb5dacdc 100644
--- a/nixpkgs/pkgs/development/libraries/audio/suil/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/suil/default.nix
@@ -1,16 +1,11 @@
 { stdenv, lib, fetchurl, gtk2, lv2, pkg-config, python3, serd, sord, sratom
 , wafHook
-, withQt4 ? true, qt4 ? null
-, withQt5 ? false, qt5 ? null }:
-
-# I haven't found an XOR operator in nix...
-assert withQt4 || withQt5;
-assert !(withQt4 && withQt5);
+, withQt5 ? true, qt5 ? null
+}:
 
 stdenv.mkDerivation rec {
   pname = "suil";
   version = "0.10.6";
-  name = "${pname}-qt${if withQt4 then "4" else "5"}-${version}";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
@@ -19,8 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config wafHook python3 ];
   buildInputs = [ gtk2 lv2 serd sord sratom ]
-    ++ (lib.optionals withQt4 [ qt4 ])
-    ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
+    ++ lib.optionals withQt5 (with qt5; [ qtbase qttools ]);
 
   dontWrapQtApps = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
index 3d5d973eec55..fc5162b34e8d 100644
--- a/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "zita-alsa-pcmi";
-  version = "0.5.1";
+  version = "0.6.1";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-zyAKaO22She1e/+zPjiwSHeCctGLVYnT0vWgHODzSwc=";
+    sha256 = "sha256-iil6zj16R0Ex7T+jIQacExM3eFtWojfW8WjIXueW1Ww=";
   };
 
   buildInputs = [ alsa-lib ];
diff --git a/nixpkgs/pkgs/development/libraries/audio/zix/default.nix b/nixpkgs/pkgs/development/libraries/audio/zix/default.nix
new file mode 100644
index 000000000000..dcd0b328a052
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/zix/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "zix";
+  version = "unstable-2023-02-13";
+
+  src = fetchFromGitLab {
+    owner = "drobilla";
+    repo = pname;
+    rev = "262d4a1522c38be0588746e874159da5c7bb457d";
+    hash = "sha256-3vuefgnirM4ksK3j9sjBHgOmx0JpL+6tCPb69/7jI00=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  mesonFlags = [
+    "-Dbenchmarks=disabled"
+    "-Ddocs=disabled"
+  ];
+
+  meta = with lib; {
+    description = "A lightweight C99 portability and data structure library";
+    homepage = "https://gitlab.com/drobilla/zix";
+    changelog = "https://gitlab.com/drobilla/zix/-/blob/${src.rev}/NEWS";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [
+      yuu
+      zseri
+    ];
+  };
+}