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.scm107
1 files changed, 92 insertions, 15 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 8bdac8df53..f2ea8ddb18 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -26,7 +26,7 @@
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
@@ -39,6 +39,7 @@
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 François J. <francois-oss@avalenn.eu>
+;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -93,6 +94,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages groff)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages mail)
@@ -114,6 +116,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages admin)
#:use-module (gnu packages xml)
#:use-module (gnu packages emacs)
@@ -175,14 +178,14 @@ as well as the classic centralized workflow.")
(define-public git
(package
(name "git")
- (version "2.32.0")
+ (version "2.33.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "08rnm3ipjqdd2n31dw7mxl3iv9g4nxgc409krmz892a37kd43a38"))))
+ "0kqcs8nj5h7rh3q86pw5777awq7gn77lgxk88ynjl1rfz2snlg5z"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -202,7 +205,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
- "1hba3wh1fmhrwzw93a0m7q4kb3kwwwi1bx4457c4lkf94l2cpqqr"))))
+ "0cdwqhj6yx3rlzvvfh0jamzjva9svd8kxmb5kqsp8nz47yz8mlyn"))))
;; For subtree documentation.
("asciidoc" ,asciidoc)
("docbook-xsl" ,docbook-xsl)
@@ -538,6 +541,13 @@ as well as the classic centralized workflow.")
(description
"Git is a free distributed version control system designed to handle
everything from small to very large projects with speed and efficiency.")
+ ;; XXX: Ignore this CVE to work around a name clash with the unrelated
+ ;; "cpe:2.3:a:jenkins:git" package. The proper fix is for (guix cve) to
+ ;; account for "vendor names".
+ (properties '((lint-hidden-cve . ("CVE-2018-1000182"
+ "CVE-2018-1000110"
+ "CVE-2019-1003010"
+ "CVE-2020-2136"))))
(license license:gpl2)
(home-page "https://git-scm.com/")))
@@ -1036,7 +1046,7 @@ a built-in cache to decrease server I/O pressure.")
"'"))
(("/usr/sbin/sendmail")
(search-input-file inputs
- "/usr/sbin/sendmail"))))))))
+ "/sbin/sendmail"))))))))
(inputs
`(("git" ,git)
("sendmail" ,sendmail)))
@@ -1514,10 +1524,79 @@ also walk each side of a merge and test those changes individually.")
control to Git repositories.")
(license license:gpl2)))
+(define-public gitile
+ (package
+ (name "gitile")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.lepiller.eu/git/gitile")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fnmgrrsdc24mvicj2gkv3vasag7h5x27xc12w55i0id9vw7k9sw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:imported-modules ((guix build guile-build-system)
+ ,@%gnu-build-system-modules)
+ #:make-flags (list "GUILE_AUTO_COMPILE=0")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install-bin 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (use-modules (guix build guile-build-system))
+ ;; Wrap the 'gitile' command to refer to the right modules.
+ (let* ((out (assoc-ref outputs "out"))
+ (commonmark (assoc-ref inputs "guile-commonmark"))
+ (git (assoc-ref inputs "guile-git"))
+ (bytes (assoc-ref inputs "guile-bytestructures"))
+ (fibers (assoc-ref inputs "guile-fibers"))
+ (gcrypt (assoc-ref inputs "guile-gcrypt"))
+ (syntax-highlight (assoc-ref inputs "guile-syntax-highlight"))
+ (deps (list out commonmark git bytes fibers gcrypt
+ syntax-highlight))
+ (guile (assoc-ref inputs "guile"))
+ (effective (target-guile-effective-version))
+ (mods (string-drop-right ;drop trailing colon
+ (string-join deps
+ (string-append "/share/guile/site/"
+ effective ":")
+ 'suffix)
+ 1))
+ (objs (string-drop-right
+ (string-join deps
+ (string-append "/lib/guile/" effective
+ "/site-ccache:")
+ 'suffix)
+ 1)))
+ (wrap-program (string-append out "/bin/gitile")
+ `("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)))
+ (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)))
+ (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
+visualize your public Git repositories on a web interface.")
+ (license license:agpl3+)))
+
(define-public pre-commit
(package
(name "pre-commit")
- (version "2.13.0")
+ (version "2.15.0")
(source
(origin
;; No tests in the PyPI tarball.
@@ -1527,7 +1606,7 @@ control to Git repositories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "02lr8d6fkr32j4rpp2ac84a5gjwq16k1hb74j6js0kxg83qw6raf"))))
+ (base32 "0hyynhg52qq8rd37cwk2gl1jjy7hpqh74zl2lg89kkdhhx0xfiaj"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1560,16 +1639,14 @@ control to Git repositories.")
;; Ruby and Node tests require node and gem.
"--ignore=tests/languages/node_test.py"
"--ignore=tests/languages/ruby_test.py"
- ;; FIXME: Python tests fail because of distlib version
- ;; mismatch. Even with python-distlib/next it is
- ;; pulling version 0.3.0, while 0.3.1 is required.
- "--ignore=tests/languages/python_test.py" "-k"
+ "-k"
(string-append
;; TODO: these tests fail with AssertionError. It may
;; be possible to fix them.
"not test_install_existing_hooks_no_overwrite"
" and not test_uninstall_restores_legacy_hooks"
- " and not test_installed_from_venv")))))
+ " and not test_installed_from_venv"
+ " and not test_healthy_venv_creator")))))
(add-before 'reset-gzip-timestamps 'make-gz-writable
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure .gz files are writable so that the
@@ -1581,7 +1658,7 @@ control to Git repositories.")
`(("git" ,git-minimal)
("python-covdefaults" ,python-covdefaults)
("python-coverage" ,python-coverage)
- ("python-distlib" ,python-distlib/next)
+ ("python-distlib" ,python-distlib)
("python-pytest" ,python-pytest)
("python-pytest-env" ,python-pytest-env)
("python-re-assert" ,python-re-assert)
@@ -1605,7 +1682,7 @@ execution of any hook written in any language before every commit.")
(define-public mercurial
(package
(name "mercurial")
- (version "5.8")
+ (version "5.8.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
@@ -1613,7 +1690,7 @@ execution of any hook written in any language before every commit.")
(patches (search-patches "mercurial-hg-extension-path.patch"))
(sha256
(base32
- "17rhlmmkqz5ll3k68jfzpcifg3nndbcbc2nx7kw8xn3qcj7nlpgw"))))
+ "16xi4bmjqzi7ig8sfa5mnypfpbbbiyafmmqrs4nxmgc743za7fl1"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags