2022-01-30 02:22:10 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gnutls, freetype, fluidsynth
|
2021-06-10 02:57:09 +00:00
|
|
|
, SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsa-lib, libjack2, libvorbis
|
2017-09-01 21:21:42 +00:00
|
|
|
, libSM, libsndfile, libogg, libtool
|
2014-09-27 10:52:30 +00:00
|
|
|
}:
|
2017-09-01 21:21:42 +00:00
|
|
|
let
|
|
|
|
makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
|
|
|
|
in
|
2014-09-26 15:20:02 +00:00
|
|
|
|
2016-09-18 22:41:35 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 12:41:18 +00:00
|
|
|
pname = "freewheeling";
|
2020-05-03 20:18:06 +00:00
|
|
|
version = "0.6.6";
|
2014-09-26 15:20:02 +00:00
|
|
|
|
2017-01-27 17:37:24 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "free-wheeling";
|
|
|
|
repo = "freewheeling";
|
2017-09-01 21:21:42 +00:00
|
|
|
rev = "v${version}";
|
2020-05-03 20:18:06 +00:00
|
|
|
sha256 = "1xff5whr02cixihgd257dc70hnyf22j3zamvhsvg4lp7zq9l2in4";
|
2014-09-26 15:20:02 +00:00
|
|
|
};
|
|
|
|
|
2021-01-19 06:50:56 +00:00
|
|
|
nativeBuildInputs = [ pkg-config autoreconfHook libtool ];
|
2014-09-27 10:52:30 +00:00
|
|
|
buildInputs = [
|
2022-01-30 02:22:10 +00:00
|
|
|
freetype fluidsynth SDL SDL_gfx SDL_ttf
|
2021-06-10 02:57:09 +00:00
|
|
|
liblo libxml2 libjack2 alsa-lib libvorbis libsndfile libogg libSM
|
2017-01-27 17:37:24 +00:00
|
|
|
(gnutls.overrideAttrs (oldAttrs: {
|
|
|
|
configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ];
|
|
|
|
}))
|
2014-09-27 10:52:30 +00:00
|
|
|
];
|
2019-10-30 01:29:30 +00:00
|
|
|
NIX_CFLAGS_COMPILE = toString
|
|
|
|
(makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ]);
|
2014-09-27 10:52:30 +00:00
|
|
|
|
2016-02-26 17:38:15 +00:00
|
|
|
hardeningDisable = [ "format" ];
|
2016-02-11 00:28:00 +00:00
|
|
|
|
2014-09-26 15:20:02 +00:00
|
|
|
meta = {
|
2014-09-27 10:52:30 +00:00
|
|
|
description = "A live looping instrument with JACK and MIDI support";
|
2014-09-26 15:47:40 +00:00
|
|
|
longDescription = ''
|
|
|
|
Freewheeling allows us to build repetitive grooves
|
|
|
|
by sampling and directing loops from within spirited improvisation.
|
|
|
|
|
|
|
|
It works because, down to the core, it's built around
|
|
|
|
improv. We leave mice and menus, and dive into our own process
|
|
|
|
of making sound.
|
|
|
|
|
2017-08-06 22:05:18 +00:00
|
|
|
Freewheeling runs under macOS and Linux, and is open source
|
2014-09-26 15:47:40 +00:00
|
|
|
software, released under the GNU GPL license.
|
|
|
|
'' ;
|
|
|
|
|
2020-04-01 01:11:51 +00:00
|
|
|
homepage = "http://freewheeling.sourceforge.net";
|
2021-01-15 13:21:58 +00:00
|
|
|
license = lib.licenses.gpl2;
|
|
|
|
maintainers = [ lib.maintainers.sepi ];
|
|
|
|
platforms = lib.platforms.linux;
|
2014-09-26 15:20:02 +00:00
|
|
|
};
|
|
|
|
}
|