treewide: stdenv.is -> stdenv.hostPlatform.is (#356363)
[NixPkgs.git] / pkgs / development / libraries / drumstick / default.nix
blob3f2b1ba026abc208b3563cbdacf1c64b6698b3af
2   lib,
3   stdenv,
4   fetchurl,
5   cmake,
6   docbook_xml_dtd_45,
7   docbook_xsl,
8   doxygen,
9   graphviz-nox,
10   pkg-config,
11   qttools,
12   wrapQtAppsHook,
13   alsa-lib,
14   fluidsynth,
15   libpulseaudio,
16   qtbase,
17   qtsvg,
18   qtwayland,
19   sonivox,
20   qt5compat ? null,
23 let
24   isQt6 = lib.versions.major qtbase.version == "6";
26 stdenv.mkDerivation rec {
27   pname = "drumstick";
28   version = "2.9.1";
30   src = fetchurl {
31     url = "mirror://sourceforge/drumstick/${version}/${pname}-${version}.tar.bz2";
32     hash = "sha256-U5Cm9pTDxC8NzyQfjaC/eBBDUWELV4jq4ov4QGefM9g=";
33   };
35   patches = [ ./drumstick-plugins.patch ];
37   postPatch = ''
38     substituteInPlace library/rt/backendmanager.cpp --subst-var out
39   '';
41   outputs = [
42     "out"
43     "dev"
44     "man"
45   ];
47   nativeBuildInputs = [
48     cmake
49     docbook_xml_dtd_45
50     docbook_xml_dtd_45
51     docbook_xsl
52     doxygen
53     graphviz-nox
54     pkg-config
55     qttools
56     wrapQtAppsHook
57   ];
59   buildInputs = [
60     alsa-lib
61     fluidsynth
62     libpulseaudio
63     qtbase
64     qtsvg
65     qtwayland
66     sonivox
67   ] ++ lib.optionals isQt6 [ qt5compat ];
69   cmakeFlags = [
70     (lib.cmakeBool "USE_DBUS" true)
71     (lib.cmakeBool "USE_QT5" (!isQt6))
72   ];
74   meta = with lib; {
75     description = "MIDI libraries for Qt/C++";
76     homepage = "https://drumstick.sourceforge.io/";
77     license = licenses.gpl2Plus;
78     maintainers = with maintainers; [ wegank ];
79     platforms = platforms.linux;
80   };