gnu: Add src.

* gnu/packages/version-control.scm (src): New variable.
This commit is contained in:
宋文武 2018-04-22 11:08:29 +08:00
parent 01224157b7
commit 0ed7498a46
No known key found for this signature in database
GPG key ID: 26525665AE727D37

View file

@ -18,6 +18,7 @@
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1912,3 +1913,52 @@ (define-public gource
Contributors to the source code appear and disappear as they contribute to Contributors to the source code appear and disappear as they contribute to
specific files and directories.") specific files and directories.")
(license license:gpl3+))) (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)))