diff options
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r-- | gnu/packages/version-control.scm | 76 |
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 |