;;; 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 © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 André <eu@euandre.org>
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
-;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2017, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix hg-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages apr)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages groff)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
as well as the classic centralized workflow.")
(license license:gpl2+)))
+(define git-cross-configure-flags
+ '("ac_cv_fread_reads_directories=yes"
+ "ac_cv_snprintf_returns_bogus=no"
+ "ac_cv_iconv_omits_bom=no"))
+
(define-public git
(package
(name "git")
- (version "2.26.0")
+ (version "2.28.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "1mlmwibfgcv42c28fxmbd3iim8fc06r17dljd8vdgq550z5hvkly"))))
+ "17a311vzimqn1glc9d7x82rhb1mb81m5rr4g8xji8idaafid39fz"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
+ ;; Add bash-minimal explicitly to ensure it comes before bash-for-tests,
+ ;; see <https://bugs.gnu.org/39513>.
+ ("bash" ,bash-minimal)
+ ("bash-for-tests" ,bash)
("gettext" ,gettext-minimal)
("git-manpages"
,(origin
version ".tar.xz"))
(sha256
(base32
- "09ilv5gg7167mwc0qqw2fz3lmdm360crnxc0xzkqn53wnsh4cziq"))))
+ "1dvwq0py8a2ywmgc5pzdlsj3608s7r9wyba292728fcs3yj7ynk6"))))
;; For subtree documentation.
("asciidoc" ,asciidoc-py3)
("docbook-xsl" ,docbook-xsl)
("python" ,python) ; for git-p4
("zlib" ,zlib)
- ;; Note: we keep this in inputs rather than native-inputs to work around
- ;; a problem in 'patch-shebangs'; see <https://bugs.gnu.org/31952>.
- ("bash-for-tests" ,bash)
-
;; For PCRE support in git grep (USE_LIBPCRE2).
("pcre" ,pcre2)
;; absolute file name to 'wish'.
#:configure-flags (list (string-append "--with-tcltk="
(assoc-ref %build-inputs "tk")
- "/bin/wish8.6")) ; XXX
+ "/bin/wish8.6") ; XXX
+ ,@(if (%current-target-system)
+ git-cross-configure-flags
+ '()))
#:modules ((srfi srfi-1)
(srfi srfi-26)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'modify-PATH
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((path (string-split (getenv "PATH") #\:))
- (bash-full (assoc-ref inputs "bash-for-tests")))
- ;; Drop the test bash from PATH so that (which "sh") and
- ;; similar does the right thing.
- (setenv "PATH" (string-join
- (remove (cut string-prefix? bash-full <>) path)
- ":"))
- #t)))
+ ,@(if (%current-target-system)
+ ;; The git build system assumes build == host
+ `((add-after 'unpack 'use-host-uname_S
+ (lambda _
+ (substitute* "config.mak.uname"
+ (("uname_S := .*" all)
+ (if (equal? ,(%current-target-system) "i586-pc-gnu")
+ "uname_S := GNU\n"
+ all)))
+ #t)))
+ ;; We do not have bash-for-tests when cross-compiling.
+ `((add-after 'unpack 'modify-PATH
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((path (string-split (getenv "PATH") #\:))
+ (bash-full (assoc-ref inputs "bash-for-tests")))
+ ;; Drop the test bash from PATH so that (which "sh") and
+ ;; similar does the right thing.
+ (setenv "PATH" (string-join
+ (remove (cut string-prefix? bash-full <>) path)
+ ":"))
+ #t)))))
+ ;; Add cross curl-config script to PATH when cross-compiling.
+ ,@(if (%current-target-system)
+ '((add-before 'configure 'add-cross-curl-config
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "PATH"
+ (string-append (assoc-ref inputs "curl") "/bin:"
+ (getenv "PATH")))
+ #t)))
+ '())
(add-after 'configure 'patch-makefiles
(lambda _
(substitute* "Makefile"
;; specified in the XML, unlike the above substitution. Instead it
;; uses a hard-coded URL. Work around it here, but if this is
;; common perhaps we should hardcode this path in xmlto itself.
- (("\\$\\(XMLTO\\) -m \\$\\(MANPAGE_XSL\\) man")
+ (("\\$\\(XMLTO\\) -m \\$\\(MANPAGE_XSL\\)")
(string-append "$(XMLTO) -x "
(string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))
- "/manpages/docbook.xsl -m $(MANPAGE_XSL) man")))
+ "/manpages/docbook.xsl -m $(MANPAGE_XSL)")))
(invoke "make")
(invoke "make" "install")
(invoke "make" "install-doc")
((#:make-flags flags)
`(delete "USE_LIBPCRE2=yes" ,flags))
((#:configure-flags flags)
- ''())
+ `(list
+ ,@(if (%current-target-system)
+ git-cross-configure-flags
+ '())))
((#:disallowed-references lst '())
`(,perl ,@lst))))
(outputs '("out"))
(native-inputs
- `(("native-perl" ,perl)
+ `(("bash" ,bash-minimal)
+ ("bash-for-tests" ,bash)
+ ("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)
- ("bash-for-tests" ,bash)))))
+ ("zlib" ,zlib)))))
(define-public gitless
(package
on @command{git}, and use any regular Git hosting service.")
(license license:expat)))
+(define-public git-cal
+ (package
+ (name "git-cal")
+ (version "0.9.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/k4rthik/git-cal")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08s9sif3qlk5n2dqpzq5yjczggnqlnxldljspjdqgpfydb2dqg3z"))))
+ (build-system perl-build-system)
+ (home-page "https://github.com/k4rthik/git-cal/")
+ (synopsis "GitHub like contributions calendar for terminal")
+ (description "@code{git-cal} is a script to view commits calendar similar
+to GitHub contributions calendar.")
+ (license license:expat)))
+
(define-public libgit2
(package
(name "libgit2")
- (version "1.0.0")
+ (version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libgit2/libgit2/"
"/libgit2-" version ".tar.gz"))
(sha256
(base32
- "1d09ni0v3vammk8zqmmwks92fh3wwnsxpyrh4s5wwdb3gxma27va"))
+ "0nlg35pxhh548nn7aa3y1m81mf81nkbzz86i2psps4f474n497v8"))
(patches (search-patches "libgit2-mtime-0.patch"))
(snippet '(begin
(delete-file-recursively "deps") #t))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
- `(#:configure-flags '("-DUSE_NTLMCLIENT=OFF" ;TODO: package this
- "-DREGEX_BACKEND=pcre2"
- "-DUSE_HTTP_PARSER=system")
+ `(#:configure-flags
+ (list "-DUSE_NTLMCLIENT=OFF" ;TODO: package this
+ "-DREGEX_BACKEND=pcre2"
+ "-DUSE_HTTP_PARSER=system"
+ ,@(if (%current-target-system)
+ `((string-append
+ "-DPKG_CONFIG_EXECUTABLE="
+ (assoc-ref %build-inputs "pkg-config")
+ "/bin/" ,(%current-target-system) "-pkg-config"))
+ '()))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-hardcoded-paths
(("/bin/cp") (which "cp"))
(("/bin/rm") (which "rm")))
#t))
- ;; Run checks more verbosely.
+ ;; Run checks more verbosely, unless we are cross-compiling.
(replace 'check
- (lambda _ (invoke "./libgit2_clar" "-v" "-Q"))))))
+ (lambda* (#:key (tests? #t) #:allow-other-keys)
+ (if tests?
+ (invoke "./libgit2_clar" "-v" "-Q")
+ ;; Tests may be disabled if cross-compiling.
+ (format #t "Test suite not run.~%")))))))
(inputs
`(("libssh2" ,libssh2)
("http-parser" ,http-parser)))
;; GPLv2 with linking exception
(license license:gpl2)))
+(define-public libgit2-0.28
+ (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))))))
+
(define-public git-crypt
(package
(name "git-crypt")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/AGWA/git-crypt.git")
+ (url "https://github.com/AGWA/git-crypt")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public git-remote-gcrypt
(package
(name "git-remote-gcrypt")
- (version "1.0.3")
+ (version "1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1vay3204729c7wajgn3nxf0s0hzwpdrw14pl6kd8w2ss25gvw2k1"))))
+ "0n8fzvr6y0pxrbvkywlky2bd8jvi0ayp4n9hwi84l1ldmv4a40dh"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
(method url-fetch)
;; cgit is tightly bound to git. Use GIT_VER from the Makefile,
;; which may not match the current (package-version git).
- (uri "mirror://kernel.org/software/scm/git/git-2.25.1.tar.xz")
+ (uri "mirror://kernel.org/software/scm/git/git-2.25.4.tar.xz")
(sha256
- (base32 "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2"))))
+ (base32 "11am6s46wmn1yll5614smjhzlghbqq6gysgcs64igjr9y5wzpdxq"))))
("openssl" ,openssl)
("groff" ,groff)
("python" ,python)
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/davisp/ghp-import.git")
+ (url "https://github.com/davisp/ghp-import")
(commit version)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/kward/shflags.git")
+ (url "https://github.com/kward/shflags")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/ctmarinas/stgit.git")
+ (url "https://github.com/ctmarinas/stgit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/RichiH/vcsh.git")
+ (url "https://github.com/RichiH/vcsh")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public gitolite
(package
(name "gitolite")
- (version "3.6.7")
+ (version "3.6.12")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/sitaramc/gitolite.git")
+ (url "https://github.com/sitaramc/gitolite")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0rmyzr66lxh2ildf3h1nh3hh2ndwk21rjdin50r5vhwbdd7jg8vb"))))
+ (base32 "05xw1pmagvkrbzga5pgl3xk9qyc6b5x73f842454f3w9ijspa8zy"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ; no tests
+ '(#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build)
control to Git repositories.")
(license license:gpl2)))
+(define-public pre-commit
+ (package
+ (name "pre-commit")
+ (version "2.7.1")
+ (source
+ (origin
+ ;; No tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pre-commit/pre-commit")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n7qby5a4yz3s02nqcp5js6jg9wrd0x7msblxwb1883ds4b2b71a"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-up-git
+ (lambda _
+ ;; Change from /homeless-shelter to /tmp for write permission.
+ (setenv "HOME" "/tmp")
+ ;; Environment variables used in the tests.
+ (setenv "GIT_AUTHOR_NAME" "Your Name")
+ (setenv "GIT_COMMITTER_NAME" "Your Name")
+ (setenv "GIT_AUTHOR_EMAIL" "you@example.com")
+ (setenv "GIT_COMMITTER_EMAIL" "you@example.com")
+ (invoke "git" "config" "--global" "user.name" "Your Name")
+ (invoke "git" "config" "--global" "user.email" "you@example.com")
+ #t))
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "tests" "-k"
+ (string-append
+ ;; Disable conda tests.
+ "not test_conda_hook"
+ " and not test_conda_with_additional_dependencies_hook"
+ " and not test_local_conda_additional_dependencies"
+ ;; Disable cpan tests.
+ " and not test_local_perl_additional_dependencies"
+ " and not test_perl_hook"
+ ;; Disable Ruby tests.
+ " and not test_additional_ruby_dependencies_installed"
+ " and not test_install_rbenv"
+ " and not test_install_rbenv_with_version"
+ " and not test_run_a_ruby_hook"
+ " and not test_run_ruby_hook_with_disable_shared_gems"
+ " and not test_run_versioned_ruby_hook"
+ ;; Disable Cargo tests.
+ " and not test_additional_rust_cli_dependencies_installed"
+ " and not test_additional_rust_lib_dependencies_installed"
+ " and not test_local_rust_additional_dependencies"
+ " and not test_rust_hook"
+ ;; Disable python2 test.
+ " and not test_switch_language_versions_doesnt_clobber"
+ ;; These tests try to open a network socket.
+ " and not test_additional_golang_dependencies_installed"
+ " and not test_additional_node_dependencies_installed"
+ " and not test_golang_hook"
+ " and not test_golang_hook_still_works_when_gobin_is_set"
+ " and not test_local_golang_additional_dependencies"
+ " and not test_main"
+ " and not test_node_hook_with_npm_userconfig_set"
+ " and not test_run_a_node_hook"
+ " and not test_run_versioned_node_hook"
+ ;; Tests failing with a permission error.
+ ;; They try to write to the filesystem.
+ " and not test_autoupdate_hook_disappearing_repo"
+ " and not test_hook_disppearing_repo_raises"
+ " and not test_img_conflict"
+ " and not test_img_something_unstaged"
+ " and not test_installed_from_venv"
+ " and not test_too_new_version"
+ " and not test_try_repo_uncommitted_changes"
+ " and not test_versions_ok"
+ ;; This test tries to activate a virtualenv.
+ " and not test_healthy_venv_creator"
+ ;; Fatal error: Not a Git repository.
+ " and not test_all_cmds"
+ " and not test_try_repo"
+ ;; No module named 'pip._internal.cli.main'.
+ " and not test_additional_dependencies_roll_forward"
+ ;; Assertion errors.
+ " and not test_install_existing_hooks_no_overwrite"
+ " and not test_uninstall_restores_legacy_hooks"))))
+ (add-before 'reset-gzip-timestamps 'make-files-writable
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure .gz files are writable so that the
+ ;; 'reset-gzip-timestamps' phase can do its work.
+ (let ((out (assoc-ref outputs "out")))
+ (for-each make-file-writable
+ (find-files out "\\.gz$"))
+ #t))))))
+ (native-inputs
+ `(("git" ,git-minimal)
+ ("python-pytest" ,python-pytest)))
+ (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)))
+ (home-page "https://pre-commit.com/")
+ (synopsis "Framework for managing and maintaining multi-language pre-commit hooks")
+ (description
+ "Pre-commit is a multi-language package manager for pre-commit hooks. You
+specify a list of hooks you want and pre-commit manages the installation and
+execution of any hook written in any language before every commit.")
+ (license license:expat)))
+
(define-public mercurial
(package
(name "mercurial")
- (version "5.3.1")
+ (version "5.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
"release/mercurial-" version ".tar.gz"))
(sha256
(base32
- "1nbjpzjrzgql4hrvslpxwbcgn885ikq6ba1yb4w6p78rw9nzkhgp"))))
+ "0x08yjs26j88kh1bvl2g3r24lnfc023ry3i1cxfq6haray6sv5ag"))))
(build-system python-build-system)
(arguments
`(#:phases
;; not in 'guix environment -C' (even without /bin/sh)?
"test-nointerrupt.t"
+ ;; FIXME: This gets killed but does not receive an interrupt.
+ "test-commandserver.t"
+
+ ;; Only works when run in a hg-repo, not in an
+ ;; extracted tarball
+ "test-doctest.py"
+
;; TODO: the fqaddr() call fails in the build
;; container, causing these server tests to fail.
"test-hgwebdir.t"
and offers an easy and intuitive interface.")
(license license:gpl2+)))
+(define-public python-hg-evolve
+ (package
+ (name "python-hg-evolve")
+ (version "10.0.1")
+ (source
+ (origin
+ (method hg-fetch)
+ (uri (hg-reference
+ (url "https://www.mercurial-scm.org/repo/evolve")
+ (changeset version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1lz407373lfam9n02gq0l0rc2sjvn0m96kbzy93ipia3ika8fa68"))))
+ (build-system python-build-system)
+ (arguments
+ ;; Tests need mercurial source code.
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("mercurial" ,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
+history. It implements the changeset evolution concept for Mercurial.")
+ (license license:gpl2)))
+
(define-public neon
(package
(name "neon")
(define-public subversion
(package
(name "subversion")
- (version "1.10.6")
+ (version "1.14.0")
(source (origin
(method url-fetch)
- (uri
- (list
- (string-append "https://archive.apache.org/dist/subversion/"
- "subversion-" version ".tar.bz2")
- (string-append "https://www-eu.apache.org/dist/subversion/"
- "subversion-" version ".tar.bz2")))
+ (uri (string-append "mirror://apache/subversion/"
+ "subversion-" version ".tar.bz2"))
(sha256
(base32
- "19zc215mhpnm92mlyl5jbv57r5zqp6cavr3s2g9yglp6j4kfgj0q"))))
+ "00i1f88snlpcnsycpn6r315h6792l5nkr2p5k6kq6yprz4cf5a3b"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f ; TODO Seems to cause test failures on
(define-public cvs-fast-export
(package
(name "cvs-fast-export")
- (version "1.51")
+ (version "1.55")
(source (origin
(method url-fetch)
(uri (string-append "http://www.catb.org/~esr/cvs-fast-export/"
"cvs-fast-export-" version ".tar.gz"))
(sha256
(base32
- "0nn5cf8syb5nbjvkn8w561pk25clv187h4hs9pnc700g9w56chzf"))))
+ "06y2myhhv2ap08bq7d7shq0b7lq6wgznwrpz6622xq66cxkf2n5g"))))
(build-system gnu-build-system)
(arguments
'(#:phases
("ed" ,ed)))
(arguments
`(#:configure-flags (list "--with-no-aegis-configured"
- "--sharedstatedir=/var/com/aegis")
+ "--sharedstatedir=/var/com/aegis"
+ ;; Uses the old 'throw()' specifier with 'new'
+ ;; which changed in C++11.
+ "CXXFLAGS=-std=c++03")
#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
#:phases
(modify-phases %standard-phases
;; The author decided to call the check rule "sure".
(invoke "make" "sure")))))))
- (home-page "http://aegis.sourceforge.net")
+ (home-page "https://sourceforge.net/projects/aegis/")
(synopsis "Project change supervisor")
(description "Aegis is a project change supervisor, and performs some of
the Software Configuration Management needed in a CASE environment. Aegis
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/0-wiz-0/findnewest.git")
+ (url "https://github.com/0-wiz-0/findnewest")
(commit (string-append "findnewest-" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/DanielDent/git-annex-remote-rclone.git")
+ (url "https://github.com/DanielDent/git-annex-remote-rclone")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public fossil
(package
(name "fossil")
- (version "2.10")
+ (version "2.11")
(source
(origin
(method url-fetch)
"https://www.fossil-scm.org/index.html/uv/"
"fossil-src-" version ".tar.gz"))
(sha256
- (base32
- "041bs4fgk52fw58p7s084pxk9d9vs5v2f2pjbznqawz75inpg8yq"))
+ (base32 "0c9nzx42wxfmym9vf1pnbdb1c7gp7a7zqky60izxsph7w2xh8nix"))
(modules '((guix build utils)))
(snippet
'(begin
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mhagger/git-imerge.git")
+ (url "https://github.com/mhagger/git-imerge")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public git-lfs
(package
(name "git-lfs")
- (version "2.7.2")
+ (version "2.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1nf40rbdz901vsahg5cm09pznpina6wimmxl0lmh8pn0mi51yzvc"))))
+ "05qd96bn2cl7gn5qarbcv6scdpj28qiwdfzalamqk5jjiidpmng5"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/git-lfs/git-lfs"))
+ `(#:import-path "github.com/git-lfs/git-lfs"
+ #:install-source? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'man-gen
+ ;; Without this, the binary generated in 'build
+ ;; phase won't have any embedded usage-text.
+ (lambda _
+ (with-directory-excursion "src/github.com/git-lfs/git-lfs"
+ (invoke "make" "mangen"))))
+ (add-after 'build 'build-man-pages
+ (lambda _
+ (with-directory-excursion "src/github.com/git-lfs/git-lfs"
+ (invoke "make" "man"))
+ #t))
+ (add-after 'install 'install-man-pages
+ (lambda _
+ (with-directory-excursion "src/github.com/git-lfs/git-lfs/man"
+ (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)))
(home-page "https://git-lfs.github.com/")
(synopsis "Git extension for versioning large files")
(description
for historians.")
(home-page "https://www.gnu.org/software/gnu-arch/")
(license license:gpl2))) ;version 2 only
+
+(define-public go-github-go-git
+ (package
+ (name "go-github-go-git")
+ (version "5.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-git/go-git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vkcmhh2qq8c38sjbnzf0wvg2rzr19wssaq177bsvrjwj1xz1qbs"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:tests? #f ;requires network connection
+ #:import-path "github.com/go-git/go-git/v5"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'setup
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((git (assoc-ref inputs "git"))
+ (git-bin (string-append (assoc-ref inputs "git") "/bin"))
+ (git-exe (string-append git-bin "/git")))
+ (setenv "GIT_DIST_PATH=" git)
+ (setenv "GIT_EXEC_PATH=" git-bin)
+ (setenv "HOME" (getcwd))
+ (invoke git-exe "config" "--global" "user.email" "gha@example.com")
+ (invoke git-exe "config" "--global" "user.name" "GitHub Actions")
+ #t)
+ #t)))))
+ (native-inputs
+ `(("go-github-com-emirpasic-gods" ,go-github-com-emirpasic-gods)
+ ("go-github-com-go-git-gcfg" ,go-github-com-go-git-gcfg)
+ ("go-github-com-go-git-go-billy" ,go-github-com-go-git-go-billy)
+ ("go-github-com-imdario-mergo" ,go-github-com-imdario-mergo)
+ ("go-github-com-jbenet-go-context" ,go-github-com-jbenet-go-context)
+ ("go-github-com-kevinburke-ssh-config" ,go-github-com-kevinburke-ssh-config)
+ ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir)
+ ("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)
+ ("go-github-com-xanzy-ssh-agentf" ,go-github-com-xanzy-ssh-agent)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-golang-org-x-net" ,go-golang-org-x-net)
+ ("go-gopkg-in-warnings" ,go-gopkg-in-warnings)
+ ("go-github-com-go-git-go-git-fixtures" ,go-github-com-go-git-go-git-fixtures)
+ ("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)
+ ("go-github-com-alcortesm-tgz" ,go-github-com-alcortesm-tgz)
+ ("go-golang-org-x-text" ,go-golang-org-x-text)
+ ("git" ,git)))
+ (home-page "https://github.com/go-git/")
+ (synopsis "Git implementation library")
+ (description "This package provides a Git implementation library.")
+ (license license:asl2.0)))