From 96f4c0fde85b7078c6ef58b710ffd8fd12dd05ee Mon Sep 17 00:00:00 2001
From: t4ccer <t4ccer@gmail.com>
Date: Mon, 15 Jul 2024 13:55:10 -0600
Subject: [PATCH] non: fix outdated waf

---
 pkgs/applications/audio/non/default.nix | 7 +++++++
 pkgs/top-level/all-packages.nix         | 4 +++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/pkgs/applications/audio/non/default.nix b/pkgs/applications/audio/non/default.nix
index f6f2ba3f73c9..bd4c83742930 100644
--- a/pkgs/applications/audio/non/default.nix
+++ b/pkgs/applications/audio/non/default.nix
@@ -17,6 +17,13 @@ stdenv.mkDerivation {
                   ladspaH liblo libsigcxx lrdf
   ];
 
+  # NOTE: non provides its own waf script that is incompatible with new
+  # python versions. If the script is not present, wafHook will install
+  # a compatible version from nixpkgs.
+  prePatch = ''
+    rm waf
+  '';
+
   env.CXXFLAGS = "-std=c++14";
 
   meta = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 90d8537e215b..c54715ad6b13 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -23253,7 +23253,9 @@ with pkgs;
 
   nntp-proxy = callPackage ../applications/networking/nntp-proxy { };
 
-  non = callPackage ../applications/audio/non { };
+  non = callPackage ../applications/audio/non {
+    wafHook = (waf.override { extraTools = [ "gccdeps" ]; }).hook;
+  };
 
   ntl = callPackage ../development/libraries/ntl { };