summaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2018-04-22 11:08:29 +0800
committer宋文武 <iyzsong@member.fsf.org>2018-04-23 11:22:58 +0800
commit0ed7498a460af9b0175d3f6919858d0d40d5ccc1 (patch)
treec925ad2e3c8ea1795713417a45b17635abc73c20 /gnu/packages/version-control.scm
parent01224157b7714ff5a7931475943f9479d09c62a3 (diff)
downloadguix-patches-0ed7498a460af9b0175d3f6919858d0d40d5ccc1.tar
guix-patches-0ed7498a460af9b0175d3f6919858d0d40d5ccc1.tar.gz
gnu: Add src.
* gnu/packages/version-control.scm (src): New variable.
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 71ede4f549..b82abaf9ed 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1912,3 +1913,52 @@ repository is the centre, directories are branches and files are leaves.
Contributors to the source code appear and disappear as they contribute to
specific files and directories.")
(license license:gpl3+)))
+
+(define-public src
+ (package
+ (name "src")
+ (version "1.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.catb.org/~esr/src/src-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0n0skhvya8w2az45h2gsafxy8m2mvqas64nrgxifcmrzfv0rf26c"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags
+ (list (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no 'configure' script
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (prog (string-append out "/bin/src"))
+ (rcs (assoc-ref inputs "rcs")))
+ (wrap-program prog
+ `("PATH" ":" prefix (,(string-append rcs "/bin"))))
+ #t)))
+ (replace 'check
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR"))
+ (invoke "git" "config" "--global" "user.name" "guix")
+ (invoke "git" "config" "--global" "user.email" "guix")
+ (invoke "./srctest"))))))
+ (native-inputs
+ ;; For testing.
+ `(("git" ,git)
+ ("perl" ,perl)))
+ (inputs
+ `(("python" ,python-wrapper)
+ ("rcs" ,rcs)))
+ (synopsis "Simple revision control")
+ (home-page "http://www.catb.org/~esr/src/")
+ (description
+ "SRC (or src) is simple revision control, a version-control system for
+single-file projects by solo developers and authors. It modernizes the
+venerable RCS, hence the anagrammatic acronym. The design is tuned for use
+cases like all those little scripts in your @file{~/bin} directory, or a
+directory full of HOWTOs.")
+ (license license:bsd-2)))