diff options
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r-- | gnu/packages/version-control.scm | 101 |
1 files changed, 51 insertions, 50 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 10487c6939..d80f7c55a6 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; 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> @@ -40,6 +40,7 @@ ;;; 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> ;;; @@ -657,6 +658,18 @@ everything from small to very large projects with speed and efficiency.") ("perl" ,perl) ("zlib" ,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")) (package @@ -722,12 +735,12 @@ logs to GNU ChangeLog format.") (git (assoc-ref inputs "git"))) (wrap-program (string-append out "/bin/gl") `("PATH" ":" prefix (,(string-append git "/bin"))) - `("PYTHONPATH" ":" = + `("GUIX_PYTHONPATH" ":" = (,(string-append out "/lib/python" ,(version-major+minor (package-version python)) "/site-packages:") - ,(getenv "PYTHONPATH")))) + ,(getenv "GUIX_PYTHONPATH")))) #t)))))) (native-inputs `(("git-for-tests" ,git-minimal))) @@ -774,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 @@ -808,8 +822,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) @@ -1027,7 +1040,7 @@ collaboration using typical untrusted file hosts or services.") (lambda (file) (wrap-program (string-append (assoc-ref outputs "out") "/lib/cgit/filters/" file) - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))) + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))) '("syntax-highlighting.py" "html-converters/md2html")) #t))))) @@ -1084,9 +1097,8 @@ a built-in cache to decrease server I/O pressure.") (assoc-ref inputs "git") "/bin/git" "'")) (("/usr/sbin/sendmail") - (string-append (assoc-ref inputs "sendmail") - "/sbin/sendmail"))) - #t))))) + (search-input-file inputs + "/sbin/sendmail")))))))) (inputs `(("git" ,git) ("sendmail" ,sendmail))) @@ -1473,8 +1485,7 @@ also walk each side of a merge and test those changes individually.") (delete 'build) (add-before 'install 'patch-scripts (lambda* (#:key inputs #:allow-other-keys) - (let ((perl (string-append (assoc-ref inputs "perl") - "/bin/perl"))) + (let ((perl (search-input-file inputs "/bin/perl"))) ;; This seems to take care of every shell script that ;; invokes Perl. (substitute* (find-files "." ".*") @@ -1511,8 +1522,7 @@ also walk each side of a merge and test those changes individually.") (substitute* '("src/lib/Gitolite/Hooks/PostUpdate.pm" "src/lib/Gitolite/Hooks/Update.pm") (("/usr/bin/perl") - (string-append (assoc-ref inputs "perl") - "/bin/perl"))) + (search-input-file inputs "/bin/perl"))) (substitute* "src/lib/Gitolite/Common.pm" (("\"ssh-keygen") @@ -1681,16 +1691,14 @@ visualize your public Git repositories on a web interface.") ;; 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 @@ -1702,7 +1710,7 @@ visualize your public Git repositories on a web interface.") `(("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) @@ -1877,10 +1885,8 @@ history. It implements the changeset evolution concept for Mercurial.") (modify-phases %standard-phases (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) - (let ((gpg (string-append (assoc-ref inputs "gnupg") - "/bin/gpg")) - (openssl (string-append (assoc-ref inputs "openssl") - "/bin/openssl"))) + (let ((gpg (search-input-file inputs "/bin/gpg")) + (openssl (search-input-file inputs "/bin/openssl"))) (substitute* "commitsigs.py" (("b'gpg',") (string-append "b'" gpg "',")) (("b'openssl',") (string-append "b'" openssl "',"))))))) @@ -2626,10 +2632,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") @@ -2651,7 +2655,7 @@ by rclone usable with git-annex.") (define-public fossil (package (name "fossil") - (version "2.11") + (version "2.14") (source (origin (method url-fetch) @@ -2659,7 +2663,7 @@ by rclone usable with git-annex.") "https://www.fossil-scm.org/index.html/uv/" "fossil-src-" version ".tar.gz")) (sha256 - (base32 "0c9nzx42wxfmym9vf1pnbdb1c7gp7a7zqky60izxsph7w2xh8nix")) + (base32 "1fazl117ph5z7xg7h6w7i32sf7rsa67499rg2llsxn3d34hckl5q")) (modules '((guix build utils))) (snippet '(begin @@ -2855,8 +2859,7 @@ directory full of HOWTOs.") #t)) (add-before 'install 'patch-git (lambda* (#:key inputs #:allow-other-keys) - (let ((git (string-append (assoc-ref inputs "git") - "/bin/git"))) + (let ((git (search-input-file inputs "/bin/git"))) (substitute* "bin/git-when-merged" (("'git'") (string-append "'" git "'"))) #t))) @@ -2864,7 +2867,7 @@ directory full of HOWTOs.") (lambda* (#:key outputs #:allow-other-keys) (wrap-program (string-append (assoc-ref outputs "out") "/bin/git-when-merged") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))) #t))))) (inputs `(("git" ,git) @@ -2900,8 +2903,7 @@ how information about the merge is displayed.") (delete 'configure) (add-before 'install 'patch-git (lambda* (#:key inputs #:allow-other-keys) - (let ((git (string-append (assoc-ref inputs "git") - "/bin/git"))) + (let ((git (search-input-file inputs "/bin/git"))) (substitute* "git-imerge" (("'git'") (string-append "'" git "'"))) #t))) @@ -2909,7 +2911,7 @@ how information about the merge is displayed.") (lambda* (#:key outputs #:allow-other-keys) (wrap-program (string-append (assoc-ref outputs "out") "/bin/git-imerge") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))) #t))))) (inputs `(("git" ,git) @@ -2954,9 +2956,9 @@ 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"))) @@ -3193,11 +3195,10 @@ defects faster.") (substitute* "tests/test_main.py" (("'gita\\\\n'") "'source\\n'") (("'gita'") "'source'")) - (invoke (string-append (assoc-ref inputs "git") "/bin/git") + (invoke (search-input-file inputs "/bin/git") "init") (add-installed-pythonpath inputs outputs) - (invoke (string-append (assoc-ref inputs "python-pytest") - "/bin/pytest") + (invoke (search-input-file inputs "/bin/pytest") "-vv" "tests"))) (add-after 'install 'install-shell-completions (lambda* (#:key outputs #:allow-other-keys) |