lol
1{ lib, stdenv, fetchFromGitHub, libpulseaudio, SDL2, SDL2_image, SDL2_ttf, alsa-lib, libjack2 }:
2
3stdenv.mkDerivation rec {
4 pname = "picoloop";
5 version = "0.77e";
6
7 src = fetchFromGitHub {
8 repo = pname;
9 owner = "yoyz";
10 rev = "${pname}-${version}";
11 sha256 = "0i8j8rgyha3ara6d4iis3wcimszf2csxdwrm5yq0wyhg74g7cvjd";
12 };
13
14 buildInputs = [
15 libpulseaudio
16 SDL2
17 SDL2.dev
18 SDL2_image
19 SDL2_ttf
20 alsa-lib
21 libjack2
22 ];
23
24 sourceRoot = "${src.name}/picoloop";
25
26 makeFlags = [ "-f Makefile.PatternPlayer_debian_RtAudio_sdl20" ];
27
28 env.NIX_CFLAGS_COMPILE = toString [ "-I${SDL2.dev}/include/SDL2" ];
29
30 hardeningDisable = [ "format" ];
31
32 patchPhase = ''
33 substituteInPlace SDL_GUI.cpp \
34 --replace "\"font.ttf\"" "\"$out/share/font.ttf\"" \
35 --replace "\"font.bmp\"" "\"$out/share/font.bmp\""
36 '';
37
38 installPhase = ''
39 mkdir -p $out/{bin,share}
40 cp PatternPlayer_debian_RtAudio_sdl20 $out/bin/picoloop
41 cp {font.*,LICENSE} $out/share
42 '';
43
44 meta = with lib; {
45 description = "A synth and a stepsequencer (a clone of the famous nanoloop)";
46 homepage = "https://github.com/yoyz/picoloop";
47 platforms = platforms.linux;
48 license = licenses.bsd3;
49 mainProgram = "picoloop";
50 };
51}