Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 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, 21}: 22 23let 24 isQt6 = lib.versions.major qtbase.version == "6"; 25in 26stdenv.mkDerivation rec { 27 pname = "drumstick"; 28 version = "2.10.0"; 29 30 src = fetchurl { 31 url = "mirror://sourceforge/drumstick/${version}/${pname}-${version}.tar.bz2"; 32 hash = "sha256-rFoH1daXHiT3LZWQRP+buzMRQSWLJfGMgRtJ9XFy/L0="; 33 }; 34 35 patches = [ ./drumstick-plugins.patch ]; 36 37 postPatch = '' 38 substituteInPlace library/rt/backendmanager.cpp --subst-var out 39 ''; 40 41 outputs = [ 42 "out" 43 "dev" 44 "man" 45 ]; 46 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 ]; 58 59 buildInputs = [ 60 alsa-lib 61 fluidsynth 62 libpulseaudio 63 qtbase 64 qtsvg 65 qtwayland 66 sonivox 67 ] 68 ++ lib.optionals isQt6 [ qt5compat ]; 69 70 cmakeFlags = [ 71 (lib.cmakeBool "USE_DBUS" true) 72 (lib.cmakeBool "USE_QT5" (!isQt6)) 73 ]; 74 75 meta = with lib; { 76 description = "MIDI libraries for Qt/C++"; 77 homepage = "https://drumstick.sourceforge.io/"; 78 license = licenses.gpl2Plus; 79 maintainers = with maintainers; [ wegank ]; 80 platforms = platforms.linux; 81 }; 82}