summary refs log tree commit diff
path: root/pkgs/development/perl-modules/maatkit/default.nix
blob: d9a1f777f3ab5e7bbf37f1feabfa11124e991be0 (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
{buildPerlPackage, stdenv, fetchurl, DBDmysql}:

buildPerlPackage rec {
  name = "maatkit-4790";

  src = fetchurl {
    url = "http://maatkit.googlecode.com/files/${name}.tar.gz" ;
    sha256 = "0lf6dgh1w96m234hrkhagyyvv1m1ldchpzsg6iswvkj6sbvv7d7h";
  };

  buildInputs = [ DBDmysql ] ;

  preConfigure = ''
    find . | while read fn; do
        if test -f "$fn"; then
            first=$(dd if="$fn" count=2 bs=1 2> /dev/null)
            if test "$first" = "#!"; then
                sed < "$fn" > "$fn".tmp \
                    -e "s|^#\!\(.*[/\ ]perl.*\)$|#\!$perl/bin/perl $perlFlags|"
                if test -x "$fn"; then chmod +x "$fn".tmp; fi
                mv "$fn".tmp "$fn"
            fi
        fi
    done
  '' ;

  meta = {
    description = "Database toolkit";
    longDescription = ''
      You can use Maatkit to prove replication is working correctly, fix
      corrupted data, automate repetitive tasks, speed up your servers, and
      much more.

      In addition to MySQL, there is support for PostgreSQL, Memcached, and a
      growing variety of other databases and technologies.
    '';
    license = "GPLv2+";
    homepage = http://www.maatkit.org/;
  };
}