16 stdenv.mkDerivation (finalAttrs: {
20 src = fetchFromGitHub {
23 rev = finalAttrs.version;
24 hash = "sha256-jANrFZqJZZMTGyNa0sIthoQzaDMdLzpGZqHfxNw8hDg=";
25 fetchSubmodules = true;
42 enableParallelBuilding = true;
45 "-C Builds/LinuxMakefile"
47 # Specify targets by hand, because it tries to build VST by default,
48 # even though it's not supported in JUCE anymore
53 "VST3_MANIFEST_HELPER"
59 install -Dt $out/share/ShowMIDI/themes Themes/*
61 install -D Design/icon.png $out/share/icons/hicolor/1024x1024/apps/show-midi.png
63 mkdir -p $out/bin $out/lib/lv2 $out/lib/vst3
64 cd Builds/LinuxMakefile/build/
65 cp -r ShowMIDI.lv2 $out/lib/lv2
66 cp -r ShowMIDI.vst3 $out/lib/vst3
72 desktopItems = [(makeDesktopItem {
74 exec = finalAttrs.meta.mainProgram;
75 comment = finalAttrs.meta.description;
78 desktopName = "ShowMIDI";
79 categories = [ "Audio" ];
82 # JUCE dlopens these, make sure they are in rpath
83 # Otherwise, segfault will happen
84 env.NIX_LDFLAGS = toString [
93 description = "Multi-platform GUI application to effortlessly visualize MIDI activity";
94 homepage = "https://github.com/gbevin/ShowMIDI";
95 license = licenses.gpl3Only;
96 maintainers = with maintainers; [ minijackson ];
97 mainProgram = "ShowMIDI";
98 platforms = platforms.linux;