2021-01-19 07:50:56 +01:00
|
|
|
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gnutls, freetype
|
2015-06-27 09:17:52 +02:00
|
|
|
, SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsaLib, libjack2, libvorbis
|
2017-09-01 23:21:42 +02:00
|
|
|
, libSM, libsndfile, libogg, libtool
|
2014-09-27 12:52:30 +02:00
|
|
|
}:
|
2017-09-01 23:21:42 +02:00
|
|
|
let
|
|
|
|
makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
|
|
|
|
in
|
2014-09-26 17:20:02 +02:00
|
|
|
|
2016-09-19 00:41:35 +02:00
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 14:41:18 +02:00
|
|
|
pname = "freewheeling";
|
2020-05-03 22:18:06 +02:00
|
|
|
version = "0.6.6";
|
2014-09-26 17:20:02 +02:00
|
|
|
|
2017-01-27 18:37:24 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "free-wheeling";
|
|
|
|
repo = "freewheeling";
|
2017-09-01 23:21:42 +02:00
|
|
|
rev = "v${version}";
|
2020-05-03 22:18:06 +02:00
|
|
|
sha256 = "1xff5whr02cixihgd257dc70hnyf22j3zamvhsvg4lp7zq9l2in4";
|
2014-09-26 17:20:02 +02:00
|
|
|
};
|
|
|
|
|
2021-01-19 07:50:56 +01:00
|
|
|
nativeBuildInputs = [ pkg-config autoreconfHook libtool ];
|
2014-09-27 12:52:30 +02:00
|
|
|
buildInputs = [
|
2017-01-27 18:37:24 +01:00
|
|
|
freetype SDL SDL_gfx SDL_ttf
|
2016-08-22 06:42:27 +02:00
|
|
|
liblo libxml2 libjack2 alsaLib libvorbis libsndfile libogg libSM
|
2017-01-27 18:37:24 +01:00
|
|
|
(gnutls.overrideAttrs (oldAttrs: {
|
|
|
|
configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ];
|
|
|
|
}))
|
2014-09-27 12:52:30 +02:00
|
|
|
];
|
2019-10-30 02:29:30 +01:00
|
|
|
NIX_CFLAGS_COMPILE = toString
|
|
|
|
(makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ]);
|
2014-09-27 12:52:30 +02:00
|
|
|
|
2016-02-26 18:38:15 +01:00
|
|
|
hardeningDisable = [ "format" ];
|
2016-02-11 01:28:00 +01:00
|
|
|
|
2014-09-26 17:20:02 +02:00
|
|
|
meta = {
|
2014-09-27 12:52:30 +02:00
|
|
|
description = "A live looping instrument with JACK and MIDI support";
|
2014-09-26 17:47:40 +02: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-07 00:05:18 +02:00
|
|
|
Freewheeling runs under macOS and Linux, and is open source
|
2014-09-26 17:47:40 +02:00
|
|
|
software, released under the GNU GPL license.
|
|
|
|
'' ;
|
|
|
|
|
2020-04-01 03:11:51 +02:00
|
|
|
homepage = "http://freewheeling.sourceforge.net";
|
2021-01-15 14:21:58 +01:00
|
|
|
license = lib.licenses.gpl2;
|
|
|
|
maintainers = [ lib.maintainers.sepi ];
|
|
|
|
platforms = lib.platforms.linux;
|
2014-09-26 17:20:02 +02:00
|
|
|
};
|
|
|
|
}
|