nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 autoreconfHook,
6 pkg-config,
7 which,
8 libtool,
9 liblo,
10 libxml2,
11 libjack2,
12 libsndfile,
13 wxGTK32,
14 libsigcxx,
15 libsamplerate,
16 rubberband,
17 gettext,
18 ncurses,
19 alsa-lib,
20 fftw,
21}:
22
23stdenv.mkDerivation (finalAttrs: {
24 pname = "sooperlooper";
25 version = "1.7.9";
26
27 src = fetchFromGitHub {
28 owner = "essej";
29 repo = "sooperlooper";
30 rev = "v${finalAttrs.version}";
31 sha256 = "sha256-bPu/VWTJLSIMoJSEQb+/nqtTpkPtCNVuXA17XsnFSP0=";
32 };
33
34 autoreconfPhase = ''
35 patchShebangs ./autogen.sh
36 ./autogen.sh
37 '';
38
39 nativeBuildInputs = [
40 autoreconfHook
41 pkg-config
42 which
43 libtool
44 ];
45
46 buildInputs = [
47 liblo
48 libxml2
49 libjack2
50 libsndfile
51 wxGTK32
52 libsigcxx
53 libsamplerate
54 rubberband
55 gettext
56 ncurses
57 alsa-lib
58 fftw
59 ];
60
61 # see https://bugs.gentoo.org/925275
62 CPPFLAGS = "-fpermissive";
63
64 enableParallelBuilding = true;
65
66 meta = {
67 description = "Live looping sampler capable of immediate loop recording, overdubbing, multiplying, reversing and more";
68 longDescription = ''
69 It allows for multiple simultaneous multi-channel loops limited only by your computer's available memory.
70 The application is a standalone JACK client with an engine controllable via OSC and MIDI.
71 It also includes a GUI which communicates with the engine via OSC (even over a network) for user-friendly control on a desktop.
72 However, this kind of live performance looping tool is most effectively used via hardware (midi footpedals, etc)
73 and the engine can be run standalone on a computer without a monitor.
74 '';
75 homepage = "https://sonosaurus.com/sooperlooper/";
76 downloadPage = "https://github.com/essej/sooperlooper";
77 license = lib.licenses.gpl2;
78 maintainers = with lib.maintainers; [ magnetophon ];
79 platforms = lib.platforms.linux;
80 };
81})