summaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm511
1 files changed, 272 insertions, 239 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index f2ea8ddb18..8044370dfb 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2016, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2016, 2019, 2021 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2018, 2020, 2021 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
@@ -40,6 +40,9 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 François J. <francois-oss@avalenn.eu>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021 jgart <jgart@dismail.de>
+;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -111,6 +114,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
@@ -170,6 +174,43 @@ changes to project files over time. It supports both a distributed workflow
as well as the classic centralized workflow.")
(license license:gpl2+)))
+(define-public breezy
+ (package
+ (name "breezy")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://launchpad.net/brz/"
+ (version-major+minor version) "/" version
+ "/+download/breezy-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0p6q545xpmxa6fgvkjglfpqpybg33817vhw0a82az8i83bmnicp0"))))
+ (build-system python-build-system)
+ ;; TODO: Maybe regenerate C files with Cython?
+ (inputs
+ `(("gettext" ,gettext-minimal)
+ ("python-configobj" ,python-configobj)
+ ("python-dulwich" ,python-dulwich)
+ ("python-fastimport" ,python-fastimport)
+ ("python-paramiko" ,python-paramiko)
+ ("python-patiencediff" ,python-patiencediff)
+ ("python-pycryptodome" ,python-pycryptodome)
+ ("python-pygpgme" ,python-pygpgme)))
+ (arguments
+ `(#:tests? #f)) ; no tests in release tarball
+ (home-page "https://www.breezy-vcs.org/")
+ (synopsis "Decentralized revision control system")
+ (description
+ "Breezy (@command{brz}) is a decentralized revision control system. By
+default, Breezy provides support for both the
+@uref{https://www.bazaar-vcs.org, Bazaar} and @uref{https://www.git-scm.com,
+Git} file formats. Breezy is backwards compatible with Bazaar's disk format
+and protocols. One of the key differences with Bazaar is that Breezy runs on
+Python 3.3 and later, rather than on Python 2.")
+ (license license:gpl2+)))
+
(define git-cross-configure-flags
'("ac_cv_fread_reads_directories=yes"
"ac_cv_snprintf_returns_bogus=no"
@@ -178,14 +219,14 @@ as well as the classic centralized workflow.")
(define-public git
(package
(name "git")
- (version "2.33.0")
+ (version "2.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "0kqcs8nj5h7rh3q86pw5777awq7gn77lgxk88ynjl1rfz2snlg5z"))))
+ "07s1c9lzlm4kpbb5lmxy0869phg7037pv4faz5hlqyb5csrbjv7x"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -205,7 +246,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
- "0cdwqhj6yx3rlzvvfh0jamzjva9svd8kxmb5kqsp8nz47yz8mlyn"))))
+ "0wic95h0i1bm66hxnc38pfj31n74lvk2xb8lx6kcfpzg2wszmsj7"))))
;; For subtree documentation.
("asciidoc" ,asciidoc)
("docbook-xsl" ,docbook-xsl)
@@ -611,11 +652,23 @@ everything from small to very large projects with speed and efficiency.")
("native-perl" ,perl)
("gettext" ,gettext-minimal)))
(inputs
- `(("curl" ,curl) ;for HTTP(S) access
- ("expat" ,expat) ;for 'git push' over HTTP(S)
- ("openssl" ,openssl)
- ("perl" ,perl)
- ("zlib" ,zlib)))))
+ (list curl ;for HTTP(S) access
+ expat ;for 'git push' over HTTP(S)
+ openssl
+ perl
+ zlib))))
+
+(define-public git-minimal/fixed
+ ;; Version that rarely changes, depended on by Graphene/GTK+.
+ (package/inherit git-minimal
+ (version "2.33.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/software/scm/git/git-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0bqz401dyp8wnjj3k5ahrniwk4dalndysqazzwdvv25hqbkacm70"))))))
(define-public git2cl
(let ((commit "1d74d4c0d933fc69ed5cec838c73502584dead05"))
@@ -633,7 +686,7 @@ everything from small to very large projects with speed and efficiency.")
"0wnnbm2sjvfj0qrksj89jlnl69miwl0vk3wrrvgvpclgys3na2g1"))))
(build-system copy-build-system)
(inputs
- `(("perl" ,perl)))
+ (list perl))
(arguments
`(#:install-plan '(("git2cl" "bin/git2cl"))))
(home-page "https://savannah.nongnu.org/projects/git2cl")
@@ -734,19 +787,20 @@ to GitHub contributions calendar.")
(define-public libgit2
(package
(name "libgit2")
- (version "1.1.0")
+ (version "1.3.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/libgit2/libgit2/"
- "releases/download/v" version
- "/libgit2-" version ".tar.gz"))
+ ;; Since v1.1.1, release artifacts are no longer offered (see:
+ ;; https://github.com/libgit2/libgit2/discussions/5932#discussioncomment-1682729).
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libgit2/libgit2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1fjdglkh04qv3b4alg621pxa689i0wlf8m7nf2755zawjr2zhwxd"))
- (patches (search-patches "libgit2-mtime-0.patch"))
- (snippet '(begin
- (delete-file-recursively "deps") #t))
- (modules '((guix build utils)))))
+ "0vgpb2175a5dhqiy1iwywwppahgqhi340i8bsvafjpvkw284vazd"))
+ (modules '((guix build utils)))
+ (snippet '(delete-file-recursively "deps"))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
@@ -757,8 +811,10 @@ to GitHub contributions calendar.")
,@(if (%current-target-system)
`((string-append
"-DPKG_CONFIG_EXECUTABLE="
- (assoc-ref %build-inputs "pkg-config")
- "/bin/" ,(%current-target-system) "-pkg-config"))
+ (search-input-file
+ %build-inputs
+ (string-append "/bin/" ,(%current-target-system)
+ "-pkg-config"))))
'()))
#:phases
(modify-phases %standard-phases
@@ -768,8 +824,7 @@ to GitHub contributions calendar.")
(("#!/bin/sh") (string-append "#!" (which "sh"))))
(substitute* "tests/clar/fs.h"
(("/bin/cp") (which "cp"))
- (("/bin/rm") (which "rm")))
- #t))
+ (("/bin/rm") (which "rm")))))
;; Run checks more verbosely, unless we are cross-compiling.
(replace 'check
(lambda* (#:key (tests? #t) #:allow-other-keys)
@@ -778,16 +833,12 @@ to GitHub contributions calendar.")
;; Tests may be disabled if cross-compiling.
(format #t "Test suite not run.~%")))))))
(inputs
- `(("libssh2" ,libssh2)
- ("http-parser" ,http-parser)))
+ (list libssh2 http-parser))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("python" ,python)))
+ (list pkg-config python))
(propagated-inputs
;; These libraries are in 'Requires.private' in libgit2.pc.
- `(("openssl" ,openssl)
- ("pcre2" ,pcre2)
- ("zlib" ,zlib)))
+ (list openssl pcre2 zlib))
(home-page "https://libgit2.org/")
(synopsis "Library providing Git core methods")
(description
@@ -797,23 +848,23 @@ write native speed custom Git applications in any language with bindings.")
;; GPLv2 with linking exception
(license license:gpl2)))
-(define-public libgit2-0.28
+(define-public libgit2-1.1
(package
(inherit libgit2)
- (version "0.28.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/libgit2/libgit2/releases/"
- "download/v" version
- "/libgit2-" version ".tar.gz"))
- (sha256
- (base32
- "0hjgpqjjmkciw1i8jqkx9q2vhdc4fc99qajhrj2bq8ziwsp6hyrb"))
- (patches (search-patches "libgit2-mtime-0.patch"))
- (modules '((guix build utils)))
- (snippet '(begin
- (delete-file-recursively "deps") #t))))))
+ (name "libgit2")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libgit2/libgit2/"
+ "releases/download/v" version
+ "/libgit2-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fjdglkh04qv3b4alg621pxa689i0wlf8m7nf2755zawjr2zhwxd"))
+ (patches (search-patches "libgit2-mtime-0.patch"))
+ (snippet '(begin
+ (delete-file-recursively "deps") #t))
+ (modules '((guix build utils)))))))
(define-public git-crypt
(package
@@ -830,11 +881,9 @@ write native speed custom Git applications in any language with bindings.")
(base32 "1ba5s0fvmd9hhnfhfsjrm40v0qpxfnwc8vmm55m0k4dryzkzx66q"))))
(build-system gnu-build-system)
(inputs
- `(("git" ,git)
- ("openssl" ,openssl)))
+ (list git openssl))
(native-inputs
- `(("docbook-xsl" ,docbook-xsl)
- ("libxslt" ,libxslt)))
+ (list docbook-xsl libxslt))
(arguments
`(#:tests? #f ; No tests.
#:phases
@@ -873,16 +922,16 @@ to lock down your entire repository.")
(define-public git-remote-gcrypt
(package
(name "git-remote-gcrypt")
- (version "1.3")
+ (version "1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.spwhitton.name/git-remote-gcrypt")
(commit version)))
- (file-name (string-append name "-" version "-checkout"))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0n8fzvr6y0pxrbvkywlky2bd8jvi0ayp4n9hwi84l1ldmv4a40dh"))))
+ "1x5ca1fi0hyn5w5mnz230x27bqr8j78adnzmlc7cbhzr13q36y5q"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -892,8 +941,7 @@ to lock down your entire repository.")
(output (assoc-ref %outputs "out"))
(bindir (string-append output "/bin")))
(install-file (string-append source "/git-remote-gcrypt")
- bindir)
- #t))))
+ bindir)))))
(home-page "https://spwhitton.name/tech/code/git-remote-gcrypt/")
(synopsis "Whole remote repository encryption")
(description "git-remote-gcrypt is a Git remote helper to push and pull from
@@ -994,10 +1042,7 @@ collaboration using typical untrusted file hosts or services.")
#t)))))
(native-inputs
;; For building manpage.
- `(("asciidoc" ,asciidoc)
- ("gzip" ,gzip)
- ("bzip2" ,bzip2)
- ("xz" ,xz)))
+ (list asciidoc gzip bzip2 xz))
(inputs
`(;; Building cgit requires a Git source tree.
("git-source"
@@ -1048,8 +1093,7 @@ a built-in cache to decrease server I/O pressure.")
(search-input-file inputs
"/sbin/sendmail"))))))))
(inputs
- `(("git" ,git)
- ("sendmail" ,sendmail)))
+ (list git sendmail))
(home-page "https://github.com/git-multimail/git-multimail")
(synopsis "Send notification emails for Git pushes")
(description
@@ -1140,10 +1184,9 @@ default) of the repository.")
(setenv "TRAVIS" "1")
(invoke "nosetests" "-v"))))))
(propagated-inputs
- `(("python-smmap" ,python-smmap)))
+ (list python-smmap))
(native-inputs
- `(("git" ,git)
- ("python-nose" ,python-nose)))
+ (list git python-nose))
(home-page "https://github.com/gitpython-developers/gitdb")
(synopsis "Python implementation of the Git object database")
(description
@@ -1156,13 +1199,13 @@ allowing to handle large objects with a small memory footprint.")
(define-public python-gitpython
(package
(name "python-gitpython")
- (version "3.1.0")
+ (version "3.1.24")
(source (origin
(method url-fetch)
(uri (pypi-uri "GitPython" version))
(sha256
(base32
- "1jzllsy9lwc9yibccgv7h9naxisazx2n3zmpy21c8n5xhysw69p4"))))
+ "1rarp97cpjnhi106k2yhb7kygdyflmlgq0icxv3ggzl4wvszv0yz"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;XXX: Tests can only be run within the GitPython repository.
@@ -1173,15 +1216,13 @@ allowing to handle large objects with a small memory footprint.")
(("git_exec_name = \"git\"")
(string-append "git_exec_name = \""
(assoc-ref inputs "git")
- "/bin/git\"")))
- #t)))))
+ "/bin/git\""))))))))
(inputs
- `(("git" ,git)))
+ (list git))
(propagated-inputs
- `(("python-gitdb" ,python-gitdb)))
+ (list python-gitdb python-typing-extensions))
(native-inputs
- `(("python-ddt" ,python-ddt)
- ("python-nose" ,python-nose)))
+ (list python-ddt python-nose))
(home-page "https://github.com/gitpython-developers/GitPython")
(synopsis "Python library for interacting with Git repositories")
(description
@@ -1248,7 +1289,7 @@ will work.")
(base32
"13q4mnrxr03wz2dkhzy73j384g299m4d545cnhxcaznvdwfany4h"))))
(build-system gnu-build-system)
- (inputs `(("shflags" ,shflags)))
+ (inputs (list shflags))
(arguments
'(#:tests? #f ; no tests
#:make-flags (list (string-append "prefix="
@@ -1291,9 +1332,9 @@ lot easier.")
(base32 "1jp74qsgw3f9c8xgaaqvmhfh4ar3n1ns5ncm8glvqyywlxldxi0n"))))
(build-system python-build-system)
(native-inputs
- `(("perl" ,perl)))
+ (list perl))
(inputs
- `(("git" ,git)))
+ (list git))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -1343,13 +1384,9 @@ manipulate them in various ways.")
(base32 "1gx5nbqyprgy6picns5hxky3lyzkqfq3xhm614f0wcdi58xrsdh0"))))
(build-system gnu-build-system)
(native-inputs
- `(("which" ,which)))
+ (list which))
(inputs
- `(("git" ,git)
- ("perl" ,perl)
- ("perl-test-harness" ,perl-test-harness)
- ("perl-shell-command" ,perl-shell-command)
- ("perl-test-most" ,perl-test-most)))
+ (list git perl perl-test-harness perl-shell-command perl-test-most))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -1508,15 +1545,11 @@ also walk each side of a merge and test those changes individually.")
(list out coreutils findutils git))))
#t))))))
(inputs
- `(("perl" ,perl)
- ("coreutils" ,coreutils)
- ("findutils" ,findutils)
- ("inetutils" ,inetutils)))
+ (list perl coreutils findutils inetutils))
;; git and openssh are propagated because trying to patch the source via
;; regexp matching is too brittle and prone to false positives.
(propagated-inputs
- `(("git" ,git)
- ("openssh" ,openssh)))
+ (list git openssh))
(home-page "https://gitolite.com")
(synopsis "Git access control layer")
(description
@@ -1575,18 +1608,15 @@ control to Git repositories.")
`("GUILE_LOAD_PATH" ":" prefix (,mods))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("guile" ,guile-3.0)
- ("pkg-config" ,pkg-config)))
+ (list autoconf automake guile-3.0 pkg-config))
(inputs
- `(("guile" ,guile-3.0)
- ("guile-commonmark" ,guile-commonmark)
- ("guile-fibers" ,guile-fibers)
- ("guile-gcrypt" ,guile-gcrypt)
- ("guile-git" ,guile-git)
- ("guile-syntax-highlight" ,guile-syntax-highlight-for-gitile)
- ("gnutls" ,gnutls)))
+ (list guile-3.0
+ guile-commonmark
+ guile-fibers
+ guile-gcrypt
+ guile-git
+ guile-syntax-highlight-for-gitile
+ gnutls))
(home-page "https://git.lepiller.eu/gitile")
(synopsis "Simple Git forge written in Guile")
(description "Gitile is a Git forge written in Guile that lets you
@@ -1665,12 +1695,12 @@ visualize your public Git repositories on a web interface.")
("which" ,which)))
;; Propagate because pre-commit is also used as a module.
(propagated-inputs
- `(("python-cfgv" ,python-cfgv)
- ("python-identify" ,python-identify)
- ("python-nodeenv" ,python-nodeenv)
- ("python-pyyaml" ,python-pyyaml)
- ("python-toml" ,python-toml)
- ("python-virtualenv" ,python-virtualenv)))
+ (list python-cfgv
+ python-identify
+ python-nodeenv
+ python-pyyaml
+ python-toml
+ python-virtualenv))
(home-page "https://pre-commit.com/")
(synopsis "Framework for managing and maintaining pre-commit hooks")
(description
@@ -1751,18 +1781,16 @@ execution of any hook written in any language before every commit.")
;; output by default. Prevent timeouts due to silence.
"-v"))))))))
(native-inputs
- `(("python-docutils", python-docutils)
- ;; The following inputs are only needed to run the tests.
- ("python-nose" ,python-nose)
- ("unzip" ,unzip)
- ("which" ,which)))
+ (list python-docutils
+ ;; The following inputs are only needed to run the tests.
+ python-nose unzip which))
(inputs
- `(("python" ,python)))
+ (list python))
;; Find third-party extensions.
(native-search-paths
(list (search-path-specification
(variable "HGEXTENSIONPATH")
- (files '("lib/python3.8/site-packages/hgext3rd")))))
+ (files '("lib/python3.9/site-packages/hgext3rd")))))
(home-page "https://www.mercurial-scm.org/")
(synopsis "Decentralized version control system")
(description
@@ -1790,7 +1818,7 @@ interface.")
;; Tests need mercurial source code.
'(#:tests? #f))
(propagated-inputs
- `(("mercurial" ,mercurial)))
+ (list mercurial))
(home-page "https://www.mercurial-scm.org/doc/evolution/")
(synopsis "Flexible evolution of Mercurial history")
(description "Evolve is a Mercurial extension for faster and safer mutable
@@ -1844,10 +1872,9 @@ history. It implements the changeset evolution concept for Mercurial.")
(assoc-ref %build-inputs "python"))
"/site-packages/hgext3rd/commitsigs.py")))))
(native-inputs
- `(("python" ,python)))
+ (list python))
(inputs
- `(("gnupg" ,gnupg)
- ("openssl" ,openssl)))
+ (list gnupg openssl))
(home-page "https://foss.heptapod.net/mercurial/commitsigs")
(synopsis "Automatic signing of changeset hashes")
(description "This package provides a Mercurial extension for signing
@@ -1869,12 +1896,9 @@ can be used for signing.")
"0y46dbhiblcvg8k41bdydr3fivghwk73z040ki5825d24ynf67ng"))))
(build-system gnu-build-system)
(native-inputs
- `(("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ (list perl pkg-config))
(inputs
- `(("libxml2" ,libxml2)
- ("openssl" ,openssl)
- ("zlib" ,zlib)))
+ (list libxml2 openssl zlib))
(arguments
`(;; FIXME: Add tests once reverse address lookup is fixed in glibc, see
;; https://sourceware.org/bugzilla/show_bug.cgi?id=16475
@@ -1968,9 +1992,9 @@ following features:
"-Wl,-rpath="
out "/lib")))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ;; For the Perl bindings.
- ("swig" ,swig)))
+ (list pkg-config
+ ;; For the Perl bindings.
+ swig))
(inputs
`(("apr" ,apr)
("apr-util" ,apr-util)
@@ -2004,7 +2028,15 @@ projects, from individuals to large-scale enterprise operations.")
"1if5pa4iip2p70gljm54nggfdnsfjxa4cqz8fpj07lvsijary39s"))
(patches (search-patches "rcs-5.10.0-no-stdin.patch"))))
(build-system gnu-build-system)
- (native-inputs `(("ed" ,ed)))
+ (arguments `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-rcsfreeze
+ (lambda* (#:key outputs #:allow-other-keys)
+ (chmod "src/rcsfreeze" #o755)
+ (install-file
+ "src/rcsfreeze"
+ (string-append (assoc-ref outputs "out") "/bin")))))))
+ (native-inputs (list ed))
(home-page "https://www.gnu.org/software/rcs/")
(synopsis "Per-file local revision control system")
(description
@@ -2015,6 +2047,27 @@ administration files, for example, which are often inherently local to one
machine.")
(license license:gpl3+)))
+(define-public rcs-blame
+ (package
+ (name "rcs-blame")
+ (version "1.3.1-20210207")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://invisible-mirror.net/archives/rcs-blame/blame-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "1j0brsvdx3hlbwchddafh8r2xmxv5vg4ahpd68v4bb9xhcq6pcih"))))
+ (build-system gnu-build-system)
+ (home-page "https://invisible-island.net/rcs-blame/rcs-blame.html")
+ (synopsis "Display the last modification for each line in an RCS file")
+ (description
+ "@code{blame} outputs an annotated revision from each RCS file. An
+annotated RCS file describes the revision and date in which each line was
+added to the file, and the author of each line.")
+ (license license:gpl2+)))
+
(define-public cvs
(package
(name "cvs")
@@ -2033,8 +2086,7 @@ machine.")
;; XXX: The test suite looks flawed, and the package is obsolete anyway.
'(#:tests? #f
#:configure-flags (list "--with-external-zlib")))
- (inputs `(("zlib" ,zlib)
- ("nano" ,nano))) ; the default editor
+ (inputs (list zlib nano)) ; the default editor
(home-page "http://cvs.nongnu.org")
(synopsis "Historical centralized version control system")
(description
@@ -2067,10 +2119,9 @@ RCS, PRCS, and Aegis packages.")
`(("git" ,git)
("python" ,python-wrapper)))
(native-inputs
- `(("asciidoc" ,asciidoc)
- ;; These are needed for the tests.
- ("cvs" ,cvs)
- ("rcs" ,rcs)))
+ (list asciidoc
+ ;; These are needed for the tests.
+ cvs rcs))
(home-page "http://www.catb.org/esr/cvs-fast-export/")
(synopsis "Export an RCS or CVS history as a fast-import stream")
(description "This program analyzes a collection of RCS files in a CVS
@@ -2096,10 +2147,10 @@ masters from remote CVS hosts.")
(base32
"0am6axxdvkm2vwgg0gjrd930yv4dlsdbf0rdv0zh5bhy1ir64rph"))))
(build-system gnu-build-system)
- (inputs `(("perl" ,perl)))
+ (inputs (list perl))
(native-inputs
- `(("emacs" ,emacs-minimal) ; for `ctags'
- ("inetutils" ,inetutils))) ; for `hostname', used in the tests
+ (list emacs-minimal ; for `ctags'
+ inetutils)) ; for `hostname', used in the tests
(home-page "https://www.gnu.org/software/vc-dwim/")
(synopsis "Version-control-agnostic ChangeLog diff and commit tool")
(description
@@ -2166,8 +2217,7 @@ reviewing large, complex patch files.")
(substitute* "tests/Makefile"
(("test-delta ") ""))))))))
;; These are needed for the tests
- (native-inputs `(("git" ,git)
- ("cvs" ,cvs)))
+ (native-inputs (list git cvs))
(home-page "https://www.gnu.org/software/cssc/")
(synopsis "File-based version control like SCCS")
(description "GNU CSSC provides a replacement for the legacy Unix source
@@ -2202,16 +2252,16 @@ accessed and migrated on modern systems.")
("zlib" ,zlib)
("gettext" ,gettext-minimal)))
(native-inputs
- `(("bison" ,bison)
- ("groff" ,groff)
- ("perl" ,perl)
- ;; Various tests require the following:
- ("cvs" ,cvs)
- ("flex" ,flex)
- ("cook" ,cook)
- ("subversion" ,subversion)
- ("rcs" ,rcs)
- ("ed" ,ed)))
+ (list bison
+ groff
+ perl
+ ;; Various tests require the following:
+ cvs
+ flex
+ cook
+ subversion
+ rcs
+ ed))
(arguments
`(#:configure-flags (list "--with-no-aegis-configured"
"--sharedstatedir=/var/com/aegis"
@@ -2323,18 +2373,17 @@ any project with more than one developer, is one of Aegis's major functions.")
`(("python" ,python-wrapper)
("tzdata" ,tzdata)))
(native-inputs
- `( ;; For building documentation.
- ("asciidoc" ,asciidoc)
- ("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("libxml2" ,libxml2)
- ("xmlto" ,xmlto)
-
- ;; For tests.
- ("cvs" ,cvs)
- ("git" ,git)
- ("mercurial" ,mercurial)
- ("subversion" ,subversion)))
+ (list ;; For building documentation.
+ asciidoc
+ docbook-xml
+ docbook-xsl
+ libxml2
+ xmlto
+ ;; For tests.
+ cvs
+ git
+ mercurial
+ subversion))
(home-page "http://www.catb.org/~esr/reposurgeon/")
(synopsis "Edit version-control repository history")
(description "Reposurgeon enables risky operations that version-control
@@ -2362,11 +2411,9 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
"19va4jn46s0vjv9f337g3ad6hy1f285ynl27i9gkd9l70b9q90n4"))))
(build-system gnu-build-system)
(native-inputs
- `(("asciidoc" ,asciidoc)
- ("xmlto" ,xmlto)))
+ (list asciidoc xmlto))
(inputs
- `(("ncurses" ,ncurses)
- ("readline" ,readline)))
+ (list ncurses readline))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -2397,8 +2444,7 @@ output of the @code{git} command.")
(sha256
(base32 "1x1cbn2b27h5r0ah5xc06fkalfdci2ngrgd4wibxjw0h88h0nvgq"))))
(build-system gnu-build-system)
- (native-inputs `(("autoconf" ,autoconf)
- ("automake" ,automake)))
+ (native-inputs (list autoconf automake))
(home-page "https://github.com/0-wiz-0/findnewest/releases")
(synopsis "Print the modification time of the latest file")
(description
@@ -2438,14 +2484,14 @@ modification time.")
"perl-uri" "perl-try-tiny"))))
#t))))))
(inputs
- `(("perl" ,perl)
- ("perl-encode-locale" ,perl-encode-locale)
- ("perl-html-parser" ,perl-html-parser)
- ("perl-http-date" ,perl-http-date)
- ("perl-http-message" ,perl-http-message)
- ("perl-libwww" ,perl-libwww)
- ("perl-try-tiny" ,perl-try-tiny)
- ("perl-uri" ,perl-uri)))
+ (list perl
+ perl-encode-locale
+ perl-html-parser
+ perl-http-date
+ perl-http-message
+ perl-libwww
+ perl-try-tiny
+ perl-uri))
(home-page "https://myrepos.branchable.com/")
(synopsis "Multiple repository management tool")
(description
@@ -2458,7 +2504,7 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
(define-public grokmirror
(package
(name "grokmirror")
- (version "2.0.8")
+ (version "2.0.11")
(source
(origin
(method git-fetch)
@@ -2468,7 +2514,7 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
- (base32 "0zfiwjw02df3mzpawp9jx61iwp0nhcf6y03cs8022l0hkvc7blbr"))))
+ (base32 "0c6nnfzzyl247r1dcjnsyx16d34nyra9ikjjhi0xzlrbiwnb0w32"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -2480,11 +2526,9 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
"/man/man1/")))
(mkdir-p man)
(for-each (lambda (file) (install-file file man))
- (find-files "." "\\.1$")))
- #t)))))
+ (find-files "." "\\.1$"))))))))
(propagated-inputs
- `(("python-packaging" ,python-packaging)
- ("python-requests" ,python-requests)))
+ (list python-packaging python-requests))
(home-page
"https://git.kernel.org/pub/scm/utils/grokmirror/grokmirror.git")
(synopsis "Framework to smartly mirror git repositories")
@@ -2514,9 +2558,7 @@ based on a manifest file published by servers.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No tests.
(inputs
- `(("python-dkimpy" ,python-dkimpy)
- ("python-dnspython" ,python-dnspython)
- ("python-requests" ,python-requests)))
+ (list python-dkimpy python-dnspython python-requests))
(home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git")
(synopsis "Tool for working with patches in public-inbox archives")
(description
@@ -2552,10 +2594,8 @@ Features include:
#:builder
(begin
(use-modules (guix build utils))
- (let ((bash (string-append (assoc-ref %build-inputs "bash")
- "/bin/bash"))
- (rclone (string-append (assoc-ref %build-inputs "rclone")
- "/bin/rclone")))
+ (let ((bash (search-input-file %build-inputs "/bin/bash"))
+ (rclone (search-input-file %build-inputs "/bin/rclone")))
(copy-file (string-append (assoc-ref %build-inputs "source")
"/git-annex-remote-rclone")
"git-annex-remote-rclone")
@@ -2566,8 +2606,7 @@ Features include:
(string-append %output "/bin"))
#t))))
(inputs
- `(("bash" ,bash)
- ("rclone" ,rclone)))
+ (list bash rclone))
(home-page "https://github.com/DanielDent/git-annex-remote-rclone")
(synopsis "Use rclone-supported cloud storage providers with git-annex")
(description "This wrapper around rclone makes any destination supported
@@ -2577,28 +2616,27 @@ by rclone usable with git-annex.")
(define-public fossil
(package
(name "fossil")
- (version "2.14")
+ (version "2.17")
(source
(origin
(method url-fetch)
(uri (string-append
- "https://www.fossil-scm.org/index.html/uv/"
- "fossil-src-" version ".tar.gz"))
+ "https://www.fossil-scm.org/home/tarball/"
+ "f48180f2ff3169651a725396d4f7d667c99a92873b9c3df7eee2f144be7a0721"
+ "/fossil-src-" version ".tar.gz"))
(sha256
- (base32 "1fazl117ph5z7xg7h6w7i32sf7rsa67499rg2llsxn3d34hckl5q"))
+ (base32 "1gvx6xzrw1a8snlq9qmr6099r44ifghg0h0fw4jazqmmyxriqzsw"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "compat") #t))))
(build-system gnu-build-system)
(native-inputs
- `(("tcl" ,tcl) ;for configuration only
- ("which" ,which) ;for tests only
- ("ed" ,ed))) ;ditto
+ (list tcl ;for configuration only
+ which ;for tests only
+ ed)) ;ditto
(inputs
- `(("openssl" ,openssl)
- ("zlib" ,zlib)
- ("sqlite" ,sqlite)))
+ (list openssl zlib sqlite-next)) ;SQLite 3.37 or later
(arguments
`(#:configure-flags (list "--with-openssl=auto"
"--disable-internal-sqlite")
@@ -2607,8 +2645,7 @@ by rclone usable with git-annex.")
(add-after 'patch-source-shebangs 'patch-sh
(lambda _
(substitute* '("auto.def")
- (("/bin/sh") (which "sh")))
- #t))
+ (("/bin/sh") (which "sh")))))
(replace 'configure
(lambda* (#:key outputs (configure-flags '())
#:allow-other-keys)
@@ -2618,13 +2655,11 @@ by rclone usable with git-annex.")
"./configure"
(string-append "--prefix="
(assoc-ref outputs "out"))
- configure-flags)
- #t))
+ configure-flags)))
(add-before 'check 'test-setup
(lambda _
(setenv "USER" "guix")
- (setenv "TZ" "UTC")
- #t)))))
+ (setenv "TZ" "UTC"))))))
(home-page "https://fossil-scm.org")
(synopsis "Software configuration management system")
(description
@@ -2637,25 +2672,27 @@ a built-in wiki, built-in file browsing, built-in tickets system, etc.")
(define-public stagit
(package
(name "stagit")
- (version "0.7.2")
+ (version "1.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.codemadness.org/stagit")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1m3s9g1z9szbjrhm8sic91xh6f2bfpi56rskdkqd5wc4wdycpyi5"))))
+ "0j2242vx5pbwdv79gcjxdbrwii48qphr8gk1lk7szj2irxdql171"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests
- #:make-flags (list "CC=gcc"
+ #:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; No configure script
(inputs
- `(("libgit2" ,libgit2)))
- (home-page "https://2f30.org/")
+ (list libgit2))
+ (home-page "https://git.codemadness.org/stagit/")
(synopsis "Static git page generator")
(description "Stagit creates static pages for git repositories, the results can
be served with a HTTP file server of your choice.")
@@ -2680,17 +2717,17 @@ be served with a HTTP file server of your choice.")
(assoc-ref %build-inputs "boost")
"/lib"))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("boost" ,boost)
- ("ftgl" ,ftgl)
- ("glew" ,glew)
- ("glm" ,glm)
- ("glu" ,glu)
- ("libpng" ,libpng)
- ("mesa" ,mesa)
- ("pcre" ,pcre)
- ("sdl-union" ,(sdl-union (list sdl2 sdl2-image)))))
+ (list boost
+ ftgl
+ glew
+ glm
+ glu
+ libpng
+ mesa
+ pcre
+ (sdl-union (list sdl2 sdl2-image))))
(home-page "https://gource.io/")
(synopsis "3D visualisation tool for source control repositories")
(description "@code{gource} provides a software version control
@@ -2734,8 +2771,7 @@ specific files and directories.")
(invoke "./srctest"))))))
(native-inputs
;; For testing.
- `(("git" ,git)
- ("perl" ,perl)))
+ (list git perl))
(inputs
`(("python" ,python-wrapper)
("rcs" ,rcs)))
@@ -2876,16 +2912,16 @@ interrupted, published, and collaborated on while in progress.")
(invoke "make" "man"))
#t))
(add-after 'install 'install-man-pages
- (lambda _
+ (lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion "src/github.com/git-lfs/git-lfs/man"
- (let ((out (assoc-ref %outputs "out")))
+ (let ((out (assoc-ref outputs "out")))
(for-each
(lambda (manpage)
(install-file manpage (string-append out "/share/man/man1")))
(find-files "." "^git-lfs.*\\.1$"))))
#t)))))
;; make `ronn` available during build for man page generation
- (native-inputs `(("ronn-ng" ,ronn-ng)))
+ (native-inputs (list ronn-ng))
(home-page "https://git-lfs.github.com/")
(synopsis "Git extension for versioning large files")
(description
@@ -2909,7 +2945,7 @@ file contents on a remote server.")
(base32 "11n46bngvca5wbdbfcxzjhjbfdbad7sgf7h9gf956cb1q8swsdm0"))))
(build-system copy-build-system)
(inputs
- `(("xdg-utils" ,xdg-utils)))
+ (list xdg-utils))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -2975,7 +3011,7 @@ guessing the URL pattern from the @code{origin} remote.")
#:test-target "test"))
(native-inputs
- `(("which" ,which)))
+ (list which))
(synopsis "Historical distributed version-control system")
(description
"GNU Arch, aka. @code{tla}, was one of the first free distributed
@@ -2988,7 +3024,7 @@ for historians.")
(define-public diff-so-fancy
(package
(name "diff-so-fancy")
- (version "1.3.0")
+ (version "1.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2997,10 +3033,9 @@ for historians.")
(file-name (git-file-name name version))
(sha256
(base32
- "0aavxahzha2mms4vdwysk79pa6wzswpfwgsq2hwaxnaf66maahfl"))))
+ "11vkq5njjlvjipic7db44ga875n61drszw1qrdzwxmmfmnz425zz"))))
(inputs
- `(("perl" ,perl)
- ("ncurses" ,ncurses)))
+ (list perl ncurses))
(build-system copy-build-system)
(arguments
'(#:phases
@@ -3010,8 +3045,7 @@ for historians.")
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
(substitute* "diff-so-fancy"
(("use lib.*$")
- (string-append "use lib '" lib "';\n")))
- #t)))
+ (string-append "use lib '" lib "';\n"))))))
(add-after 'install 'symlink-executable
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -3019,8 +3053,7 @@ for historians.")
(perl (assoc-ref inputs "perl")))
(wrap-program (string-append out "/bin/diff-so-fancy")
`("PATH" ":" prefix (,(string-append ncurses "/bin")
- ,(string-append perl "/bin"))))
- #t))))
+ ,(string-append perl "/bin"))))))))
#:install-plan
'(("lib" "lib")
("diff-so-fancy" "bin/"))))
@@ -3103,10 +3136,10 @@ defects faster.")
"1k03zgcbhl91cgyh4k7ywyjp00y63q4bqbimncqh5b3lni8l8j5l"))))
(build-system python-build-system)
(native-inputs
- `(("git" ,git) ;for tests
- ("python-pytest" ,python-pytest)))
+ (list git ;for tests
+ python-pytest))
(propagated-inputs
- `(("python-pyyaml" ,python-pyyaml)))
+ (list python-pyyaml))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -3219,7 +3252,7 @@ using the remote repository URL's host and path.")
'(("git-filter-repo" "libexec/git-core/")
("Documentation/man1/" "share/man/man1")
("/" "" #:include ()))))
- (inputs `(("python" ,python))) ;for the shebang
+ (inputs (list python)) ;for the shebang
(home-page "https://github.com/newren/git-filter-repo")
(synopsis "Quickly rewrite Git repository history")
(description