From 8a61369c4582061f0a9f32cc4bf49b954be1ecdd Mon Sep 17 00:00:00 2001 From: rewine <1758075541@qq.com> Date: Tue, 26 Apr 2022 19:47:09 +0800 Subject: [PATCH] viper4linux-gui: init at unstable-2022-04-23 --- .../audio/viper4linux-gui/default.nix | 82 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 83 insertions(+) create mode 100644 pkgs/applications/audio/viper4linux-gui/default.nix diff --git a/pkgs/applications/audio/viper4linux-gui/default.nix b/pkgs/applications/audio/viper4linux-gui/default.nix new file mode 100644 index 00000000000..be495aa9c93 --- /dev/null +++ b/pkgs/applications/audio/viper4linux-gui/default.nix @@ -0,0 +1,82 @@ +{ lib +, stdenv +, fetchFromGitHub +, copyDesktopItems +, pkg-config +, qtbase +, qtsvg +, qtmultimedia +, qmake +, gst_all_1 +, libpulseaudio +, makeDesktopItem +, viper4linux +, wrapQtAppsHook +}: +let + gstPluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-viperfx gst-plugins-base gst-plugins-good ]); +in +stdenv.mkDerivation rec { + pname = "viper4linux-gui"; + version = "unstable-2022-04-23"; + + src = fetchFromGitHub { + owner = "Audio4Linux"; + repo = "Viper4Linux-GUI"; + rev = "2d0c84d7dda76c59e31c850e38120002eb779b7a"; + sha256 = "sha256-5YlLCF598i/sldczPEgCB+1KJDA7jqM964QDSNjgTKM="; + }; + + desktopItems = [ + (makeDesktopItem { + name = pname; + exec = "viper-gui"; + icon = "viper"; + desktopName = "viper4linux"; + genericName = "Equalizer"; + comment = meta.description; + categories = [ "AudioVideo" "Audio" ]; + startupNotify = false; + }) + ]; + + nativeBuildInputs = [ + qmake + pkg-config + wrapQtAppsHook + copyDesktopItems + ]; + + buildInputs = [ + qtbase + qtmultimedia + qtsvg + gst_all_1.gstreamer + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-viperfx + libpulseaudio + viper4linux + ]; + + qmakeFlags = [ "V4L_Frontend.pro" ]; + + qtWrapperArgs = [ + "--prefix PATH : ${lib.makeBinPath [ viper4linux gst_all_1.gstreamer ]}" + "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${gstPluginPath}" + ]; + + installPhase = '' + runHook preInstalli + install -D V4L_Frontend $out/bin/viper-gui + install -D icons/viper.png $out/share/icons/viper.png + runHook postInstall + ''; + + meta = with lib; { + description = "Official UI for Viper4Linux2"; + homepage = "https://github.com/Audio4Linux/Viper4Linux-GUI"; + license = licenses.gpl3Plus; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ rewine ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index feaabf746af..ceb8d04e1e1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30221,6 +30221,7 @@ with pkgs; uvcdynctrl = callPackage ../os-specific/linux/uvcdynctrl { }; viper4linux = callPackage ../applications/audio/viper4linux { }; + viper4linux-gui = libsForQt5.callPackage ../applications/audio/viper4linux-gui { }; vkeybd = callPackage ../applications/audio/vkeybd {};