summary refs log tree commit diff
path: root/pkgs/development/libraries/libkeyfinder/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/libkeyfinder/default.nix')
-rw-r--r--pkgs/development/libraries/libkeyfinder/default.nix35
1 files changed, 14 insertions, 21 deletions
diff --git a/pkgs/development/libraries/libkeyfinder/default.nix b/pkgs/development/libraries/libkeyfinder/default.nix
index a38fa0dc6f6..85747f2f38d 100644
--- a/pkgs/development/libraries/libkeyfinder/default.nix
+++ b/pkgs/development/libraries/libkeyfinder/default.nix
@@ -1,39 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, fftw, qtbase, qmake }:
+{ lib, stdenv, fetchFromGitHub, cmake, fftw, catch2 }:
 
 stdenv.mkDerivation rec {
   pname = "libkeyfinder";
-  version = "2.1";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
-    sha256 = "07kc0cl6kirgmpdgkgmp6r3yvyf7b1w569z01g8rfl1cig80qdc7";
+    owner = "mixxxdj";
+    repo = "libkeyfinder";
     rev = "v${version}";
-    repo = "libKeyFinder";
-    owner = "ibsh";
+    sha256 = "005qq81xfzi1iifvpgkqpizxcrfisafq2r0cjp4fxqh1ih7bfimv";
   };
 
-  nativeBuildInputs = [ qmake ];
-  buildInputs = [ fftw qtbase ];
+  # needed for linking libkeyfinder.so into keyfinder-tests executable
+  preBuild = ''
+    export LD_LIBRARY_PATH=$(pwd)
+  '';
 
-  dontWrapQtApps = true;
+  nativeBuildInputs = [ cmake ];
 
-  postPatch = ''
-    substituteInPlace LibKeyFinder.pro \
-      --replace "/usr/local" "$out" \
-      --replace "-stdlib=libc++" ""
-  '';
+  buildInputs = [ fftw ];
 
-  enableParallelBuilding = true;
+  checkInputs = [ catch2 ];
 
-  postInstall = ''
-    mkdir -p $out/include/keyfinder
-    install -m644 *.h $out/include/keyfinder
-    mkdir -p $out/lib
-    cp -a lib*.so* $out/lib
-  '';
+  doCheck = true;
 
   meta = with lib; {
     description = "Musical key detection for digital audio (C++ library)";
-    homepage = "http://www.ibrahimshaath.co.uk/keyfinder/";
+    homepage = "https://mixxxdj.github.io/libkeyfinder/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };