biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / audio / freewheeling / default.nix
blob976421aee7abc086f1ff222347cfe3b3a07301d3
1 { lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gnutls, freetype, fluidsynth
2 , SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsa-lib, libjack2, libvorbis
3 , libSM, libsndfile, libogg, libtool
4 }:
5 let
6   makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
7 in
9 stdenv.mkDerivation rec {
10   pname = "freewheeling";
11   version = "0.6.6";
13   src = fetchFromGitHub {
14     owner = "free-wheeling";
15     repo = "freewheeling";
16     rev = "v${version}";
17     sha256 = "1xff5whr02cixihgd257dc70hnyf22j3zamvhsvg4lp7zq9l2in4";
18   };
20   nativeBuildInputs = [ pkg-config autoreconfHook libtool ];
21   buildInputs = [
22     freetype fluidsynth SDL SDL_gfx SDL_ttf
23     liblo libxml2 libjack2 alsa-lib libvorbis libsndfile libogg libSM
24     (gnutls.overrideAttrs (oldAttrs: {
25       configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ];
26     }))
27   ];
28   env.NIX_CFLAGS_COMPILE = toString
29     (makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ]);
31   hardeningDisable = [ "format" ];
33   meta = {
34     description = "A live looping instrument with JACK and MIDI support";
35     longDescription = ''
36         Freewheeling allows us to build repetitive grooves
37         by sampling and directing loops from within spirited improvisation.
39         It works because, down to the core, it's built around
40         improv. We leave mice and menus, and dive into our own process
41         of making sound.
43         Freewheeling runs under macOS and Linux, and is open source
44         software, released under the GNU GPL license.
45     '' ;
47     homepage = "https://freewheeling.sourceforge.net";
48     license = lib.licenses.gpl2;
49     maintainers = [ lib.maintainers.sepi ];
50     platforms = lib.platforms.linux;
51     mainProgram = "fweelin";
52   };