1{ lib
2, stdenv
3, fetchurl
4, python
5, rcs
6, git
7, makeWrapper
8}:
9
10stdenv.mkDerivation rec {
11 pname = "src";
12 version = "1.32";
13
14 src = fetchurl {
15 url = "http://www.catb.org/~esr/src/${pname}-${version}.tar.gz";
16 sha256 = "sha256-CSA1CmPvXuOl9PzX97/soGRq2HHBcYuA5PepOVMaMWU=";
17 };
18
19 nativeBuildInputs = [
20 makeWrapper
21 ];
22
23 buildInputs = [
24 python
25 rcs
26 git
27 ];
28
29 preConfigure = ''
30 patchShebangs .
31 '';
32
33 makeFlags = [ "prefix=${placeholder "out"}" ];
34
35 postInstall = ''
36 wrapProgram $out/bin/src \
37 --suffix PATH ":" "${rcs}/bin"
38 '';
39
40 meta = with lib; {
41 homepage = "http://www.catb.org/esr/src/";
42 description = "Simple single-file revision control";
43 longDescription = ''
44 SRC, acronym of Simple Revision Control, is RCS/SCCS reloaded with a
45 modern UI, designed to manage single-file solo projects kept more than one
46 to a directory. Use it for FAQs, ~/bin directories, config files, and the
47 like. Features integer sequential revision numbers, a command set that
48 will seem familiar to Subversion/Git/hg users, and no binary blobs
49 anywhere.
50 '';
51 changelog = "https://gitlab.com/esr/src/raw/${version}/NEWS";
52 license = licenses.bsd2;
53 maintainers = with maintainers; [ calvertvl AndersonTorres ];
54 inherit (python.meta) platforms;
55 };
56}