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
6 makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
9 stdenv.mkDerivation rec {
10 pname = "freewheeling";
13 src = fetchFromGitHub {
14 owner = "free-wheeling";
15 repo = "freewheeling";
17 sha256 = "1xff5whr02cixihgd257dc70hnyf22j3zamvhsvg4lp7zq9l2in4";
20 nativeBuildInputs = [ pkg-config autoreconfHook libtool ];
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" ];
28 env.NIX_CFLAGS_COMPILE = toString
29 (makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ]);
31 hardeningDisable = [ "format" ];
34 description = "A live looping instrument with JACK and MIDI support";
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
43 Freewheeling runs under macOS and Linux, and is open source
44 software, released under the GNU GPL license.
47 homepage = "https://freewheeling.sourceforge.net";
48 license = lib.licenses.gpl2;
49 maintainers = [ lib.maintainers.sepi ];
50 platforms = lib.platforms.linux;
51 mainProgram = "fweelin";