diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-04-01 15:50:50 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-04-01 15:50:50 +0000 |
commit | 75eafe97f7df0d653bec67f3962214d7c357831f (patch) | |
tree | 09f2cc901e0e637876cbb78d192dfe2fcfef8156 /nixpkgs/pkgs/applications/version-management/cvsq | |
parent | a53b121bf4331497da63df3b1b7f1a7897dad146 (diff) | |
parent | a2e06fc3423c4be53181b15c28dfbe0bcf67dd73 (diff) | |
download | nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.gz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.bz2 nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.lz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.xz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.zst nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.zip |
Merge commit 'a2e06fc3423c4be53181b15c28dfbe0bcf67dd73'
Diffstat (limited to 'nixpkgs/pkgs/applications/version-management/cvsq')
-rw-r--r-- | nixpkgs/pkgs/applications/version-management/cvsq/default.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/version-management/cvsq/default.nix b/nixpkgs/pkgs/applications/version-management/cvsq/default.nix new file mode 100644 index 000000000000..c030d8b08784 --- /dev/null +++ b/nixpkgs/pkgs/applications/version-management/cvsq/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, fetchurl +, makeWrapper +, cvs +, perl +, nettools +, findutils +, rsync +, coreutils +, diffutils +} : + +stdenv.mkDerivation rec { + pname = "cvsq"; + version = "1.11"; + + src = fetchurl { + url = "http://www.linta.de/~aehlig/cvsq/cvsq-${version}.tgz"; + sha256 = "0491k4skk3jyyd6plp2kcihmxxav9rsch7vd1yi697m2fqckp5ws"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ cvs perl nettools findutils rsync coreutils diffutils ]; + + + makeFlags = [ "prefix=$(out)" ]; + + postInstall = '' + substituteInPlace $out/bin/cvsq --replace "/bin/sh" "${stdenv.shell}" + substituteInPlace $out/bin/lcvs --replace "/bin/sh" "${stdenv.shell}" + wrapProgram $out/bin/cvsq --prefix PATH : ${stdenv.lib.makeBinPath + [ cvs nettools findutils rsync coreutils diffutils ]} + wrapProgram $out/bin/cvsq-branch --prefix PATH : ${stdenv.lib.makeBinPath + [ cvs nettools findutils rsync coreutils diffutils ]} + wrapProgram $out/bin/cvsq-merge --prefix PATH : ${stdenv.lib.makeBinPath + [ cvs nettools findutils rsync coreutils diffutils ]} + wrapProgram $out/bin/cvsq-switch --prefix PATH : ${stdenv.lib.makeBinPath + [ cvs nettools findutils rsync coreutils diffutils ]} + wrapProgram $out/bin/lcvs --prefix PATH : ${stdenv.lib.makeBinPath + [ cvs nettools findutils rsync coreutils diffutils ]} + ''; + + meta = { + description = ''A collection of tools to work locally with CVS''; + longDescription = '' + cvsq is a collection of tools to work locally with CVS. + + cvsq queues commits and other cvs commands in a queue to be executed later, + when the machine is online again. In case of a commit (the default action) + an actual copy of the working directory is made, so that you can continue + editing without affecting the scheduled commit. You can even schedule + several successive commits to the same file and they will be correctly + committed as successive commits at the time of upload. This is different + from an earlier script also named cvsq that you might have seen elsewhere. + + lcvs uses rsync to maintain a local copy of a cvs repository. It also + gives a convenient interface to call cvs in such a way that it believes the + current working directory refers to the local copy rather than to the actual + repository. This is useful for commands like log, diff, etc; however it cannot + be used for commits (that's what cvsq is for). + ''; + homepage = https://www.linta.de/~aehlig/cvsq/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ clkamp ]; + platforms = stdenv.lib.platforms.all; + }; +} |