btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / ja / jalv / package.nix
blobf801039fb06936074f50f03f1c07318155eba524
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   libsForQt5,
6   libjack2,
7   lilv,
8   lv2,
9   meson,
10   ninja,
11   pkg-config,
12   portaudio,
13   serd,
14   sord,
15   sratom,
16   suil,
17   wrapGAppsHook3,
18   useJack ? true,
19   useQt ? false,
22 stdenv.mkDerivation (finalAttrs: {
23   pname = "jalv";
24   version = "1.6.8";
26   src = fetchFromGitHub {
27     owner = "drobilla";
28     repo = "jalv";
29     rev = "refs/tags/v${finalAttrs.version}";
30     hash = "sha256-MAQoc+WcuoG6Psa44VRaZ2TWB2LBpvf6EmqbUZPUf38=";
31   };
33   nativeBuildInputs = [
34     meson
35     ninja
36     pkg-config
37   ] ++ lib.optionals (!useQt) [ wrapGAppsHook3 ] ++ lib.optionals useQt [ libsForQt5.wrapQtAppsHook ];
39   buildInputs =
40     [
41       lilv
42       lv2
43       portaudio
44       serd
45       sord
46       sratom
47       suil
48     ]
49     ++ lib.optionals (!useJack) [ portaudio ]
50     ++ lib.optionals useJack [ libjack2 ]
51     ++ lib.optionals useQt [ libsForQt5.qtbase ];
53   mesonFlags = [
54     (lib.mesonEnable "portaudio" (!useJack))
55     (lib.mesonEnable "jack" useJack)
56     (lib.mesonEnable "gtk2" false)
57     (lib.mesonEnable "gtk3" (!useQt))
58     (lib.mesonEnable "qt5" useQt)
59   ];
61   meta = {
62     description = "Simple but fully featured LV2 host for Jack";
63     homepage = "http://drobilla.net/software/jalv";
64     license = lib.licenses.isc;
65     mainProgram = if useQt then "jalv.qt5" else "jalv.gtk3";
66     maintainers = with lib.maintainers; [ aleksana ];
67     platforms = lib.platforms.linux;
68   };