···1+{ stdenv, fetchurl }:
2+3+stdenv.mkDerivation rec {
4+ name = "fpart-${version}";
5+ version = "0.9.3";
6+7+ src = fetchurl {
8+ url = "http://contribs.martymac.org/fpart/${name}.tar.gz";
9+ sha256 = "0f1vm7c7v9nrd0mnz6qivpnngni6y53b11kvniclqfd25hhw6ggq";
10+ };
11+12+ postInstall = ''
13+ sed "s|^FPART_BIN=.*|FPART_BIN=\"$out/bin/fpart\"|" \
14+ -i "$out/bin/fpsync"
15+ '';
16+17+ meta = with stdenv.lib; {
18+ description = "Split file trees into bags (called \"partitions\")";
19+ longDescription = ''
20+ Fpart is a tool that helps you sort file trees and pack them into bags
21+ (called "partitions").
22+23+ It splits a list of directories and file trees into a certain number of
24+ partitions, trying to produce partitions with the same size and number of
25+ files. It can also produce partitions with a given number of files or a
26+ limited size.
27+28+ Once generated, partitions are either printed as file lists to stdout
29+ (default) or to files. Those lists can then be used by third party programs.
30+31+ Fpart also includes a live mode, which allows it to crawl very large
32+ filesystems and produce partitions in live. Hooks are available to act on
33+ those partitions (e.g. immediatly start a transfer using rsync(1))
34+ without having to wait for the filesystem traversal job to be finished.
35+ Used this way, fpart can be seen as a powerful data migration tool.
36+ '';
37+ homepage = "http://contribs.martymac.org/";
38+ license = licenses.bsd2;
39+ platforms = platforms.unix;
40+ maintainers = [ maintainers.bjornfor ];
41+ };
42+}