1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
3 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
4 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
6 ;;; This file is part of GNU Guix.
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;;; GNU General Public License for more details.
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 (define-module (gnu packages version-control)
22 #:use-module ((guix licenses) #:select (asl2.0 gpl1+ gpl2+ gpl3+))
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu)
26 #:use-module (guix build-system python)
27 #:use-module (guix build utils)
28 #:use-module ((gnu packages gettext)
29 #:renamer (symbol-prefix-proc 'guix:))
30 #:use-module (gnu packages apr)
31 #:use-module (gnu packages nano)
32 #:use-module (gnu packages perl)
33 #:use-module (gnu packages python)
34 #:use-module (gnu packages sqlite)
35 #:use-module (gnu packages system)
36 #:use-module (gnu packages emacs)
37 #:use-module (gnu packages compression))
46 (uri (string-append "https://launchpad.net/bzr/2.5/" version
47 "/+download/bzr-" version ".tar.gz"))
50 "10krjbzia2avn09p0cdlbx2wya0r5v11w5ymvyl72af5dkx4cwwn"))))
51 (build-system python-build-system)
53 ;; Note: 'tools/packaging/lp-upload-release' and 'tools/weavemerge.sh'
55 `(("gettext" ,guix:gettext)))
57 `(#:tests? #f)) ; no test target
58 (home-page "https://gnu.org/software/bazaar")
59 (synopsis "Decentralized revision control system")
61 "GNU Bazaar is a distributed version control system, which supports both
62 central version control and distributed version control. Developers can
63 organize their workspace in whichever way they want. It is possible to work
64 from a command line or use a GUI application.")
67 (define-public subversion
73 (uri (string-append "http://archive.apache.org/dist/subversion/subversion-"
77 "11inl9n1riahfnbk1fax0dysm2swakzhzhpmm2zvga6fikcx90zw"))))
78 (build-system gnu-build-system)
81 ("apr-util" ,apr-util)
86 (home-page "http://subversion.apache.org/")
87 (synopsis "Subversion, a revision control system")
89 "Subversion exists to be universally recognized and adopted as an
90 open-source, centralized version control system characterized by its
91 reliability as a safe haven for valuable data; the simplicity of its model and
92 usage; and its ability to support the needs of a wide variety of users and
93 projects, from individuals to large-scale enterprise operations.")
102 (uri (string-append "mirror://gnu/rcs/rcs-"
106 "0w26vsx732dcmb5qfhlkkzvrk1sx6d74qibrn914n14j0ci90jcq"))))
107 (build-system gnu-build-system)
108 (home-page "http://www.gnu.org/software/rcs/")
109 (synopsis "Per-file local revision control system")
111 "The GNU Revision Control System (RCS) manages multiple revisions of
112 files. RCS automates the storing, retrieval, logging, identification, and
113 merging of revisions. RCS is useful for text that is revised frequently,
114 including source code, programs, documentation, graphics, papers, and form
125 "http://ftp.gnu.org/non-gnu/cvs/source/feature/"
126 version "/cvs-" version ".tar.bz2"))
129 "0pjir8cwn0087mxszzbsi1gyfc6373vif96cw4q3m1x6p49kd1bq"))))
130 (build-system gnu-build-system)
132 ;; XXX: The test suite looks flawed, and the package is obsolete anyway.
134 (inputs `(("zlib" ,zlib)
135 ("nano" ,nano))) ; the default editor
136 (home-page "http://cvs.nongnu.org")
137 (synopsis "Historical centralized version control system")
139 "CVS is a version control system, an important component of Source
140 Configuration Management (SCM). Using it, you can record the history of
141 sources files, and documents. It fills a similar role to the free software
142 RCS, PRCS, and Aegis packages.")
145 (define-public vc-dwim
151 (uri (string-append "mirror://gnu/vc-dwim/vc-dwim-"
155 "094pjwshvazlgagc254in2xvrp93vhcj0kb5ms17qs7sch99x9z2"))))
156 (build-system gnu-build-system)
157 (inputs `(("perl" ,perl)
158 ("inetutils" ,inetutils) ; for `hostname', used in the tests
159 ("emacs" ,emacs))) ; for `ctags'
160 (home-page "http://www.gnu.org/software/vc-dwim/")
161 (synopsis "Version-control-agnostic ChangeLog diff and commit tool")
163 "vc-dwim is a version-control-agnostic ChangeLog diff and commit
164 tool. vc-chlog is a helper tool for writing GNU-style ChangeLog entries.")