unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Pierre Neidhardt <mail@ambrevar.xyz>
To: "Gábor Boskovits" <boskovits@gmail.com>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Git subtree
Date: Fri, 26 Oct 2018 00:08:06 +0200	[thread overview]
Message-ID: <87o9bhkc3o.fsf@ambrevar.xyz> (raw)
In-Reply-To: <871s8ekq9h.fsf@ambrevar.xyz>


[-- Attachment #1.1: Type: text/plain, Size: 138 bytes --]


I'll have limited Internet access for the upcoming days and I cannot test my git
subtree patch.

Can someone test it and merge?  Thanks!

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-git-Add-subtree-output.patch --]
[-- Type: text/x-patch, Size: 3968 bytes --]

From 851c2d645229012c264b8679ec3517bdc5d9960c Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt <mail@ambrevar.xyz>
Date: Thu, 25 Oct 2018 19:31:38 +0200
Subject: [PATCH] gnu: git: Add "subtree" output.

* gnu/packages/version-control.scm (git)[outputs]: Add "subtree".
---
 gnu/packages/version-control.scm | 35 +++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 14a18c8c3..622782e54 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.
-- 
2.19.1


[-- Attachment #1.3: Type: text/plain, Size: 48 bytes --]


-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  parent reply	other threads:[~2018-10-25 22:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-25 14:54 Git subtree Pierre Neidhardt
2018-10-25 15:10 ` Gábor Boskovits
2018-10-25 15:22   ` Pierre Neidhardt
2018-10-25 20:26     ` Pierre Neidhardt
2018-10-25 22:08     ` Pierre Neidhardt [this message]
2018-10-27 14:36       ` Pierre Neidhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o9bhkc3o.fsf@ambrevar.xyz \
    --to=mail@ambrevar.xyz \
    --cc=boskovits@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).