summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix Buehler <account@buehler.rocks>2022-01-06 14:58:57 +0100
committerFelix Buehler <account@buehler.rocks>2022-01-10 00:29:49 +0100
commit6ce11c544143fed16cb0c95853f413eaf8992605 (patch)
treef040ae90779a4f405f149f3470de42c69103bed6
parente4f818576620732ec564d21e88e96b579d9a0782 (diff)
downloadnixpkgs-6ce11c544143fed16cb0c95853f413eaf8992605.tar
nixpkgs-6ce11c544143fed16cb0c95853f413eaf8992605.tar.gz
nixpkgs-6ce11c544143fed16cb0c95853f413eaf8992605.tar.bz2
nixpkgs-6ce11c544143fed16cb0c95853f413eaf8992605.tar.lz
nixpkgs-6ce11c544143fed16cb0c95853f413eaf8992605.tar.xz
nixpkgs-6ce11c544143fed16cb0c95853f413eaf8992605.tar.zst
nixpkgs-6ce11c544143fed16cb0c95853f413eaf8992605.zip
metersLv2: refactor
-rw-r--r--pkgs/applications/audio/meters_lv2/default.nix79
1 files changed, 43 insertions, 36 deletions
diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix
index b21b859596e..86c7e64a6e6 100644
--- a/pkgs/applications/audio/meters_lv2/default.nix
+++ b/pkgs/applications/audio/meters_lv2/default.nix
@@ -1,46 +1,53 @@
-{ lib, stdenv, fetchurl, pkg-config
-, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }:
-
-let
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, lv2
+, libGLU
+, libGL
+, gtk2
+, cairo
+, pango
+, fftwFloat
+, libjack2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "meters.lv2";
   version = "0.9.10";
-  name = "meters.lv2-${version}";
-
-  # robtk submodule is pegged to this version
   robtkVersion = "0.6.2";
-  robtkName = "robtk-${robtkVersion}";
-
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz";
-    sha256 = "0yfyn7j8g50w671b1z7ph4ppjx8ddj5c6nx53syp5y5mfr1b94nx";
-  };
-
-  robtkSrc = fetchurl {
-    name = "${robtkName}.tar.gz";
-    url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz";
-    sha256 = "1v79xys1k2923wpivdjd44vand6c4agwvnrqi4c8kdv9r07b559v";
-  };
-
-in
-stdenv.mkDerivation {
-  inherit name;
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ];
 
-  srcs = [ src robtkSrc ];
-  sourceRoot = name;
+  src = fetchFromGitHub {
+    owner = "x42";
+    repo = "meters.lv2";
+    rev = "v${version}";
+    sha256 = "sha256-u2KIsaia0rAteQoEh6BLNCiRHFufHYF95z6J/EMgeSE=";
+  };
+
+  robtkSrc = fetchFromGitHub {
+    owner = "x42";
+    repo = "robtk";
+    rev = "v${robtkVersion}";
+    sha256 = "sha256-zeRMobfKW0+wJwYVem74tglitkI6DSoK75Auywcu4Tw=";
+  };
 
-  postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */
+  postUnpack = ''
+    rm -rf $sourceRoot/robtk/
+    ln -s ${robtkSrc} $sourceRoot/robtk
+  '';
 
-  preConfigure = "makeFlagsArray=( PREFIX=$out )";
   meter_VERSION = version;
-
-  meta = with lib;
-    { description = "Collection of audio level meters with GUI in LV2 plugin format";
-      homepage = "http://x42.github.io/meters.lv2/";
-      maintainers = with maintainers; [ ehmry ];
-      license = licenses.gpl2;
-      platforms = platforms.linux;
-    };
+  enableParallelBuilding = true;
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with lib; {
+    description = "Collection of audio level meters with GUI in LV2 plugin format";
+    homepage = "https://x42.github.io/meters.lv2/";
+    maintainers = with maintainers; [ ehmry ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
 }