aboutsummaryrefslogtreecommitdiff
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.scm76
1 files changed, 64 insertions, 12 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 14a18c8c35..b9a2ff2ea0 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -166,7 +166,11 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
- "1vn6pi9yvw7rnb9dvi1yjrvv39fqd1m9mwbaffqwizs3gaf91br7"))))))
+ "1vn6pi9yvw7rnb9dvi1yjrvv39fqd1m9mwbaffqwizs3gaf91br7"))))
+ ;; For subtree documentation.
+ ("asciidoc" ,asciidoc)
+ ("docbook-xsl" ,docbook-xsl)
+ ("xmlto" ,xmlto)))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@@ -198,6 +202,7 @@ as well as the classic centralized workflow.")
"send-email" ; for git-send-email
"svn" ; git-svn
"credential-netrc" ; git-credential-netrc
+ "subtree" ; git-subtree
"gui")) ; gitk, git gui
(arguments
`(#:make-flags `("V=1" ;more verbose compilation
@@ -256,6 +261,26 @@ as well as the classic centralized workflow.")
;; Add the "PM.stamp" to avoid "no rule to make target".
(call-with-output-file "perl/PM.stamp" (const #t))
#t))
+ (add-after 'build 'build-subtree
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "contrib/subtree"
+ (substitute* "Makefile"
+ ;; Apparently `xmlto' does not bother to looks up the stylesheets
+ ;; 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")
+ (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")))
+ (invoke "make")
+ (invoke "make" "install")
+ (invoke "make" "install-doc")
+ (substitute* "git-subtree"
+ (("/bin/sh") (which "sh"))))
+ #t))
(add-before 'check 'patch-tests
(lambda _
(let ((store-directory (%store-directory)))
@@ -317,6 +342,14 @@ as well as the classic centralized workflow.")
`("PERL5LIB" ":" prefix
(,(string-append (assoc-ref outputs "out") "/share/perl5"))))
#t)))
+ (add-after 'install 'install-subtree
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((subtree (assoc-ref outputs "subtree")))
+ (install-file "contrib/subtree/git-subtree"
+ (string-append subtree "/bin"))
+ (install-file "contrib/subtree/git-subtree.1"
+ (string-append subtree "/share/man/man1"))
+ #t)))
(add-after 'install 'split
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Split the binaries to the various outputs.
@@ -427,7 +460,7 @@ everything from small to very large projects with speed and efficiency.")
(define-public libgit2
(package
(name "libgit2")
- (version "0.26.7")
+ (version "0.26.8")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libgit2/libgit2/"
@@ -435,7 +468,7 @@ everything from small to very large projects with speed and efficiency.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1vy4dnbvhcq3pw8n8zz6clnsv2xnkrichl8k96w3lb6yyk0lln35"))
+ "15kp4sq72kh762bm7dgspyrk0a6siarvll3k7nrhs0xy77idf80g"))
(patches (search-patches "libgit2-mtime-0.patch"))
;; Remove bundled software.
@@ -1119,14 +1152,14 @@ control to Git repositories.")
(define-public mercurial
(package
(name "mercurial")
- (version "4.6.2")
+ (version "4.7.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
"release/mercurial-" version ".tar.gz"))
(sha256
(base32
- "1bv6wgcdx8glihjjfg22khhc52mclsn4kwfqvzbzlg0b42h4xl0w"))))
+ "1yq9r8s9jzj8hk2yizjk25s4w16yx9b8mbdj6wp8ld7j2r15kw4p"))))
(build-system python-build-system)
(arguments
`(;; Restrict to Python 2, as Python 3 would require
@@ -1697,7 +1730,7 @@ modification time.")
(define-public myrepos
(package
(name "myrepos")
- (version "1.20171231")
+ (version "1.20180726")
(source
(origin
(method git-fetch)
@@ -1706,15 +1739,34 @@ modification time.")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
- (base32 "10q7lpx152xnkk701fscn4dq99q9znnmv3bc2482khhjg7z8rps0"))
- (patches (search-patches "myrepos-CVE-2018-7032.patch"))))
+ (base32 "0jphw61plm8cgklja6hs639xhdvxgvjwbr6jpvjwpp7hc5gmhms5"))))
(build-system gnu-build-system)
- (inputs
- `(("perl" ,perl)))
(arguments
'(#:test-target "test"
- #:phases (modify-phases %standard-phases (delete 'configure))
- #:make-flags (list (string-append "PREFIX=" %output))))
+ #:make-flags (list (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'install 'wrap-webcheckout
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/webcheckout")
+ `("PERL5LIB" ":" prefix
+ ,(map (lambda (i) (string-append (assoc-ref inputs i)
+ "/lib/perl5/site_perl"))
+ '("perl-encode-locale" "perl-http-date"
+ "perl-http-message" "perl-html-parser" "perl-libwww"
+ "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)))
(home-page "https://myrepos.branchable.com/")
(synopsis "Multiple repository management tool")
(description