Commit | Line | Data |
---|---|---|
dcee3fc5 NK |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> | |
cf3fe3b0 | 3 | ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> |
a4572a17 | 4 | ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> |
dcee3fc5 NK |
5 | ;;; |
6 | ;;; This file is part of GNU Guix. | |
7 | ;;; | |
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. | |
12 | ;;; | |
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. | |
17 | ;;; | |
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/>. | |
20 | ||
1b1c335f | 21 | (define-module (gnu packages version-control) |
cf3fe3b0 | 22 | #:use-module ((guix licenses) #:select (asl2.0 gpl1+ gpl2+ gpl3+)) |
dcee3fc5 NK |
23 | #:use-module (guix packages) |
24 | #:use-module (guix download) | |
1b1c335f | 25 | #:use-module (guix build-system gnu) |
dcee3fc5 NK |
26 | #:use-module (guix build-system python) |
27 | #:use-module (guix build utils) | |
28 | #:use-module ((gnu packages gettext) | |
1972fed4 | 29 | #:renamer (symbol-prefix-proc 'guix:)) |
2b24faa2 | 30 | #:use-module (gnu packages apr) |
1972fed4 | 31 | #:use-module (gnu packages nano) |
cf3fe3b0 CR |
32 | #:use-module (gnu packages perl) |
33 | #:use-module (gnu packages python) | |
34 | #:use-module (gnu packages sqlite) | |
a4572a17 LC |
35 | #:use-module (gnu packages system) |
36 | #:use-module (gnu packages emacs) | |
1972fed4 | 37 | #:use-module (gnu packages compression)) |
dcee3fc5 NK |
38 | |
39 | (define-public bazaar | |
40 | (package | |
41 | (name "bazaar") | |
42 | (version "2.5.1") | |
43 | (source | |
44 | (origin | |
45 | (method url-fetch) | |
46 | (uri (string-append "https://launchpad.net/bzr/2.5/" version | |
47 | "/+download/bzr-" version ".tar.gz")) | |
48 | (sha256 | |
49 | (base32 | |
50 | "10krjbzia2avn09p0cdlbx2wya0r5v11w5ymvyl72af5dkx4cwwn")))) | |
51 | (build-system python-build-system) | |
52 | (inputs | |
53 | ;; Note: 'tools/packaging/lp-upload-release' and 'tools/weavemerge.sh' | |
54 | ;; require Zsh. | |
55 | `(("gettext" ,guix:gettext))) | |
56 | (arguments | |
57 | `(#:tests? #f)) ; no test target | |
58 | (home-page "https://gnu.org/software/bazaar") | |
2c71cf66 | 59 | (synopsis "Decentralized revision control system") |
dcee3fc5 NK |
60 | (description |
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.") | |
2c71cf66 | 65 | (license gpl2+))) |
1b1c335f | 66 | |
cf3fe3b0 CR |
67 | (define-public subversion |
68 | (package | |
69 | (name "subversion") | |
70 | (version "1.7.8") | |
71 | (source (origin | |
72 | (method url-fetch) | |
e23dc82c | 73 | (uri (string-append "http://archive.apache.org/dist/subversion/subversion-" |
cf3fe3b0 CR |
74 | version ".tar.bz2")) |
75 | (sha256 | |
76 | (base32 | |
77 | "11inl9n1riahfnbk1fax0dysm2swakzhzhpmm2zvga6fikcx90zw")))) | |
78 | (build-system gnu-build-system) | |
79 | (inputs | |
2b24faa2 AE |
80 | `(("apr" ,apr) |
81 | ("apr-util" ,apr-util) | |
cf3fe3b0 CR |
82 | ("perl" ,perl) |
83 | ("python" ,python) | |
84 | ("sqlite" ,sqlite) | |
85 | ("zlib" ,zlib))) | |
86 | (home-page "http://subversion.apache.org/") | |
87 | (synopsis "Subversion, a revision control system") | |
88 | (description | |
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.") | |
94 | (license asl2.0))) | |
95 | ||
1b1c335f LC |
96 | (define-public rcs |
97 | (package | |
98 | (name "rcs") | |
99 | (version "5.9.0") | |
100 | (source (origin | |
101 | (method url-fetch) | |
102 | (uri (string-append "mirror://gnu/rcs/rcs-" | |
103 | version ".tar.xz")) | |
104 | (sha256 | |
105 | (base32 | |
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") | |
110 | (description | |
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 | |
115 | letters.") | |
116 | (license gpl3+))) | |
1972fed4 LC |
117 | |
118 | (define-public cvs | |
119 | (package | |
120 | (name "cvs") | |
121 | (version "1.12.13") | |
122 | (source (origin | |
123 | (method url-fetch) | |
124 | (uri (string-append | |
125 | "http://ftp.gnu.org/non-gnu/cvs/source/feature/" | |
126 | version "/cvs-" version ".tar.bz2")) | |
127 | (sha256 | |
128 | (base32 | |
129 | "0pjir8cwn0087mxszzbsi1gyfc6373vif96cw4q3m1x6p49kd1bq")))) | |
130 | (build-system gnu-build-system) | |
131 | (arguments | |
132 | ;; XXX: The test suite looks flawed, and the package is obsolete anyway. | |
133 | '(#:tests? #f)) | |
134 | (inputs `(("zlib" ,zlib) | |
135 | ("nano" ,nano))) ; the default editor | |
136 | (home-page "http://cvs.nongnu.org") | |
137 | (synopsis "Historical centralized version control system") | |
138 | (description | |
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.") | |
143 | (license gpl1+))) | |
a4572a17 LC |
144 | |
145 | (define-public vc-dwim | |
146 | (package | |
147 | (name "vc-dwim") | |
148 | (version "1.7") | |
149 | (source (origin | |
150 | (method url-fetch) | |
151 | (uri (string-append "mirror://gnu/vc-dwim/vc-dwim-" | |
152 | version ".tar.xz")) | |
153 | (sha256 | |
154 | (base32 | |
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") | |
162 | (description | |
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.") | |
165 | (license gpl3+))) |