···1+{ stdenv, autoreconfHook, fetchsvn, flac, libao, libvorbis, ncurses
2+, opusfile, pkgconfig
3+}:
4+5+stdenv.mkDerivation rec {
6+ name = "squishyball-${rev}";
7+ rev = "19580";
8+9+ src = fetchsvn {
10+ url = "https://svn.xiph.org/trunk/squishyball";
11+ rev = rev;
12+ sha256 = "013vq52q9z6kpg9iyc2jnb3m2gihcjblvwpg4yj4wy1q2c05pzqp";
13+ };
14+15+ nativeBuildInputs = [ autoreconfHook pkgconfig ];
16+17+ buildInputs = [ flac libao libvorbis ncurses opusfile ];
18+19+ patches = [ ./gnu-screen.patch ];
20+21+ postInstall = ''
22+ # Why doesn’t this happen automagically?
23+ mkdir -p $out/share/man/man1
24+ cp squishyball.1 $out/share/man/man1
25+ '';
26+27+ meta = with stdenv.lib; {
28+ description = "A tool to perform sample comparison testing on the command line";
29+ longDescription = ''
30+ squishyball is a simple command-line utility for performing
31+ double-blind A/B, A/B/X or X/X/Y testing on the command line.
32+ The user specifies two input files to be compared and uses the
33+ keyboard during playback to flip between the randomized samples
34+ to perform on-the-fly compar‐ isons. After a predetermined
35+ number of trials, squishyball prints the trial results to
36+ stdout and exits. Results (stdout) may be redirected to a file
37+ without affecting interactive use of the terminal.
38+39+ squishyball can also be used to perform casual, non-randomized
40+ comparisons of groups of up to ten samples; this is the default
41+ mode of operation.
42+ '';
43+ homepage = https://svn.xiph.org/trunk/squishyball;
44+ license = licenses.gpl2Plus;
45+ maintainers = with maintainers; [ michalrus ];
46+ platforms = platforms.linux;
47+ };
48+}