summary refs log tree commit diff
path: root/pkgs/applications/audio/crip/default.nix
blob: d635dce83f4e6004f77c4ae568c6ae85b9660aae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{ lib, stdenv
, fetchurl
, makeWrapper

, perlPackages

, cdparanoia
, coreutils
, eject
, flac
, gnugrep
, nano
, sox
, vorbis-tools
, vorbisgain
, which
}:

with lib;

stdenv.mkDerivation rec {
  pname = "crip";
  version = "3.9";
  src = fetchurl {
    url = "http://bach.dynet.com/${pname}/src/${pname}-${version}.tar.gz";
    sha256 = "0pk9152wll6fmkj1pki3fz3ijlf06jyk32v31yarwvdkwrk7s9xz";
  };

  buildInputs = [ perlPackages.perl perlPackages.CDDB_get ];
  nativeBuildInputs = [ makeWrapper ];

  toolDeps = makeBinPath [
    cdparanoia
    coreutils
    eject
    flac
    gnugrep
    sox
    vorbis-tools
    vorbisgain
    which
  ];

  scripts = [ "crip" "editcomment" "editfilenames" ];

  installPhase = ''
    mkdir -p $out/bin/

    for script in ${escapeShellArgs scripts}; do
      cp $script $out/bin/

      substituteInPlace $out/bin/$script \
        --replace '$editor = "vim";' '$editor = "${nano}/bin/nano";'

      wrapProgram $out/bin/$script \
        --set PERL5LIB "${perlPackages.makePerlPath [ perlPackages.CDDB_get ]}" \
        --set PATH "${toolDeps}"
    done
  '';

  meta = {
    homepage = "http://bach.dynet.com/crip/";
    description = "Terminal-based ripper/encoder/tagger tool for creating Ogg Vorbis/FLAC files";
    license = lib.licenses.gpl1;
    platforms = lib.platforms.linux;
    maintainers = [ maintainers.endgame ];
  };
}