about summary refs log tree commit diff
path: root/pkgs/applications/version-management
diff options
context:
space:
mode:
authorChristian Lütke-Stetzkamp <christian@lkamp.de>2020-02-10 11:12:22 +0100
committerChristian Lütke-Stetzkamp <christian@lkamp.de>2020-02-10 20:58:06 +0100
commitdf7ee19182c560db257e7d436d744ba073d88e36 (patch)
treeba71419c2ef2322ac00d2f21a6d6cd89bc1ae789 /pkgs/applications/version-management
parent60fadaa7932c49ca7a815e38c2a0d7de372b2883 (diff)
downloadnixlib-df7ee19182c560db257e7d436d744ba073d88e36.tar
nixlib-df7ee19182c560db257e7d436d744ba073d88e36.tar.gz
nixlib-df7ee19182c560db257e7d436d744ba073d88e36.tar.bz2
nixlib-df7ee19182c560db257e7d436d744ba073d88e36.tar.lz
nixlib-df7ee19182c560db257e7d436d744ba073d88e36.tar.xz
nixlib-df7ee19182c560db257e7d436d744ba073d88e36.tar.zst
nixlib-df7ee19182c560db257e7d436d744ba073d88e36.zip
cvsq: init at 1.10
Diffstat (limited to 'pkgs/applications/version-management')
-rw-r--r--pkgs/applications/version-management/cvsq/default.nix67
1 files changed, 67 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/cvsq/default.nix b/pkgs/applications/version-management/cvsq/default.nix
new file mode 100644
index 000000000000..f9cabb94b978
--- /dev/null
+++ b/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.10";
+
+  src = fetchurl {
+    url = "http://www.linta.de/~aehlig/cvsq/cvsq-${version}.tgz";
+    sha256 = "1a2e5666d4d23f1eb673a505caeb771ac62a86ed69c9ab89c4e2696c2ccd0621";
+  };
+
+  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;
+  };
+}