anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / audio / guitarix / default.nix
blob5b23b0e34a219dc719c06516f2803d2f899940c7
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , avahi
5 , bluez
6 , boost
7 , curl
8 , eigen
9 , faust
10 , fftw
11 , gettext
12 , glib
13 , glib-networking
14 , glibmm
15 , adwaita-icon-theme
16 , gsettings-desktop-schemas
17 , gtk3
18 , gtkmm3
19 , hicolor-icon-theme
20 , intltool
21 , ladspaH
22 , libjack2
23 , libsndfile
24 , lilv
25 , lrdf
26 , lv2
27 , pkg-config
28 , python3
29 , sassc
30 , serd
31 , sord
32 , sratom
33 , wafHook
34 , wrapGAppsHook3
35 , zita-convolver
36 , zita-resampler
37 , optimizationSupport ? false # Enable support for native CPU extensions
40 let
41   inherit (lib) optional;
44 stdenv.mkDerivation (finalAttrs: {
45   pname = "guitarix";
46   version = "0.46.0";
48   src = fetchFromGitHub {
49     owner = "brummer10";
50     repo = "guitarix";
51     rev = "V${finalAttrs.version}";
52     fetchSubmodules = true;
53     hash = "sha256-AftC6fQEDzG/3C/83YbK/++bRgP7vPD0E2X6KEWpowc=";
54   };
56   sourceRoot = "${finalAttrs.src.name}/trunk";
58   nativeBuildInputs = [
59     gettext
60     hicolor-icon-theme
61     intltool
62     pkg-config
63     python3
64     wafHook
65     wrapGAppsHook3
66   ];
68   buildInputs = [
69     avahi
70     bluez
71     boost
72     curl
73     eigen
74     faust
75     fftw
76     glib
77     glib-networking.out
78     glibmm
79     adwaita-icon-theme
80     gsettings-desktop-schemas
81     gtk3
82     gtkmm3
83     ladspaH
84     libjack2
85     libsndfile
86     lilv
87     lrdf
88     lv2
89     sassc
90     serd
91     sord
92     sratom
93     zita-convolver
94     zita-resampler
95   ];
97   wafConfigureFlags = [
98     "--no-font-cache-update"
99     "--shared-lib"
100     "--no-desktop-update"
101     "--enable-nls"
102     "--install-roboto-font"
103   ] ++ optional optimizationSupport "--optimization";
105   env.NIX_CFLAGS_COMPILE = toString [ "-fpermissive" ];
107   meta = with lib; {
108     description = "Virtual guitar amplifier for Linux running with JACK";
109     mainProgram = "guitarix";
110     longDescription = ''
111         guitarix is a virtual guitar amplifier for Linux running with
112       JACK (Jack Audio Connection Kit). It is free as in speech and
113       free as in beer. Its free sourcecode allows to build it for
114       other UNIX-like systems also, namely for BSD and for MacOSX.
116         It takes the signal from your guitar as any real amp would do:
117       as a mono-signal from your sound card. Your tone is processed by
118       a main amp and a rack-section. Both can be routed separately and
119       deliver a processed stereo-signal via JACK. You may fill the
120       rack with effects from more than 25 built-in modules spanning
121       from a simple noise-gate to brain-slashing modulation-fx like
122       flanger, phaser or auto-wah. Your signal is processed with
123       minimum latency. On any properly set-up Linux-system you do not
124       need to wait for more than 10 milli-seconds for your playing to
125       be delivered, processed by guitarix.
127         guitarix offers the range of sounds you would expect from a
128       full-featured universal guitar-amp. You can get crisp
129       clean-sounds, nice overdrive, fat distortion and a diversity of
130       crazy sounds never heard before.
131     '';
132     homepage = "https://github.com/brummer10/guitarix";
133     license = licenses.gpl3Plus;
134     maintainers = with maintainers; [ astsmtl lord-valen ];
135     platforms = platforms.linux;
136   };