1{
2 lib,
3 fetchFromGitHub,
4 fetchpatch,
5 cmake,
6 pkg-config,
7 alsa-lib ? null,
8 carla ? null,
9 fftwFloat,
10 fltk13,
11 fluidsynth ? null,
12 lame ? null,
13 libgig ? null,
14 libjack2 ? null,
15 libpulseaudio ? null,
16 libsamplerate,
17 libsoundio ? null,
18 libsndfile,
19 libvorbis ? null,
20 portaudio ? null,
21 qtbase,
22 qtx11extras,
23 qttools,
24 SDL ? null,
25 mkDerivation,
26}:
27
28mkDerivation rec {
29 pname = "lmms";
30 version = "1.2.2";
31
32 src = fetchFromGitHub {
33 owner = "LMMS";
34 repo = "lmms";
35 rev = "v${version}";
36 sha256 = "006hwv1pbh3y5whsxkjk20hsbgwkzr4dawz43afq1gil69y7xpda";
37 fetchSubmodules = true;
38 };
39
40 nativeBuildInputs = [
41 cmake
42 qttools
43 pkg-config
44 ];
45
46 buildInputs = [
47 carla
48 alsa-lib
49 fftwFloat
50 fltk13
51 fluidsynth
52 lame
53 libgig
54 libjack2
55 libpulseaudio
56 libsamplerate
57 libsndfile
58 libsoundio
59 libvorbis
60 portaudio
61 qtbase
62 qtx11extras
63 SDL # TODO: switch to SDL2 in the next version
64 ];
65
66 patches = [
67 (fetchpatch {
68 url = "https://raw.githubusercontent.com/archlinux/svntogit-community/cf64acc45e3264c6923885867e2dbf8b7586a36b/trunk/lmms-carla-export.patch";
69 sha256 = "sha256-wlSewo93DYBN2PvrcV58dC9kpoo9Y587eCeya5OX+j4=";
70 })
71 ];
72
73 cmakeFlags = [ "-DWANT_QT5=ON" ];
74
75 meta = with lib; {
76 description = "DAW similar to FL Studio (music production software)";
77 mainProgram = "lmms";
78 homepage = "https://lmms.io";
79 license = licenses.gpl2Plus;
80 platforms = [
81 "x86_64-linux"
82 "i686-linux"
83 ];
84 maintainers = [ ];
85 };
86}