Package: guix-patches;
Reported by: Josselin Poiret <dev <at> jpoiret.xyz>
Date: Sat, 3 Jun 2023 14:03:02 UTC
Severity: normal
Tags: patch
Merged with 63873
Done: Hilton Chain <hako <at> ultrarare.space>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63874 in the body.
You can then email your comments to 63874 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#63874
; Package guix-patches
.
(Sat, 03 Jun 2023 14:03:02 GMT) Full text and rfc822 format available.Josselin Poiret <dev <at> jpoiret.xyz>
:guix-patches <at> gnu.org
.
(Sat, 03 Jun 2023 14:03:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Josselin Poiret <dev <at> jpoiret.xyz> To: guix-patches <at> gnu.org Cc: Josselin Poiret <dev <at> jpoiret.xyz> Subject: [PATCH 1/2] gnu: git-filter-repo: Update to 2.38.0 and generate documentation. Date: Sat, 3 Jun 2023 16:02:06 +0200
From: Josselin Poiret <dev <at> jpoiret.xyz> * gnu/packages/patches/git-filter-repo-generate-doc.patch: * gnu/local.mk (dist_patch_DATA): * gnu/packages/version-control.scm (git-filter-repo): Update to 2.38.0, use git-fetch, use patch and switch to gnu-build-system and G-Exps. --- gnu/local.mk | 1 + .../git-filter-repo-generate-doc.patch | 289 ++++++++++++++++++ gnu/packages/version-control.scm | 48 ++- 3 files changed, 324 insertions(+), 14 deletions(-) create mode 100644 gnu/packages/patches/git-filter-repo-generate-doc.patch diff --git a/gnu/local.mk b/gnu/local.mk index 09a4617daf..bc20a69949 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1217,6 +1217,7 @@ dist_patch_DATA = \ %D%/packages/patches/genimage-mke2fs-test.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/gettext-libunicode-update.patch \ + %D%/packages/patches/git-filter-repo-generate-doc.patch \ %D%/packages/patches/git-header-cmd.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-9.2-glibc-2.33-link-order.patch \ diff --git a/gnu/packages/patches/git-filter-repo-generate-doc.patch b/gnu/packages/patches/git-filter-repo-generate-doc.patch new file mode 100644 index 0000000000..12b9d42ef2 --- /dev/null +++ b/gnu/packages/patches/git-filter-repo-generate-doc.patch @@ -0,0 +1,289 @@ +From 7c66e1d4a8076f5b0cc29e5c05637ba1363a6bd7 Mon Sep 17 00:00:00 2001 +Message-Id: <7c66e1d4a8076f5b0cc29e5c05637ba1363a6bd7.1685797909.git.dev <at> jpoiret.xyz> +From: Josselin Poiret <dev <at> jpoiret.xyz> +Date: Sat, 3 Jun 2023 13:07:07 +0200 +Subject: [PATCH] Add documentation generation. + +From: Josselin Poiret <dev <at> jpoiret.xyz> + +This uses the manpage XSL and asciidoc config files from git 2.40.1. +--- + .gitignore | 1 + + Documentation/Makefile | 38 +++++++++++++ + Documentation/asciidoc.conf | 78 ++++++++++++++++++++++++++ + Documentation/manpage-base-url.xsl.in | 10 ++++ + Documentation/manpage-bold-literal.xsl | 16 ++++++ + Documentation/manpage-normal.xsl | 26 +++++++++ + Documentation/manpage-quote-apos.xsl | 16 ++++++ + Makefile | 17 +----- + 8 files changed, 188 insertions(+), 14 deletions(-) + create mode 100644 Documentation/Makefile + create mode 100644 Documentation/asciidoc.conf + create mode 100644 Documentation/manpage-base-url.xsl.in + create mode 100644 Documentation/manpage-bold-literal.xsl + create mode 100644 Documentation/manpage-normal.xsl + create mode 100644 Documentation/manpage-quote-apos.xsl + +diff --git a/.gitignore b/.gitignore +index cd5ded4..e167ef7 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -1,5 +1,6 @@ + /Documentation/html/ + /Documentation/man1/ ++/Documentation/manpage-base-url.xsl + /t/test-results + /t/trash directory* + /__pycache__/ +diff --git a/Documentation/Makefile b/Documentation/Makefile +new file mode 100644 +index 0000000..d4cd939 +--- /dev/null ++++ b/Documentation/Makefile +@@ -0,0 +1,38 @@ ++MAN_BASE_URL := /usr/share/doc/git-doc/ ++VERSION := $(git log --pretty="%H" -n 1) ++ ++ASCIIDOC := asciidoc ++ASCIIDOC_EXTRA := ++ASCIIDOC_HTML := xhtml11 ++ASCIIDOC_DOCBOOK := docbook ++ASCIIDOC_CONF := -f asciidoc.conf ++ASCIIDOC_COMMON := $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \ ++ -amanversion='$(VERSION)' \ ++ -amanmanual='git-filter-repo Manual' -amansource='git-filter-repo' ++ASCIIDOC_DEPS := asciidoc.conf ++TXT_TO_HTML := $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML) ++TXT_TO_XML := $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK) ++MANPAGE_XSL := manpage-normal.xsl ++XMLTO := xmlto ++XMLTO_EXTRA := -m manpage-bold-literal.xsl -m manpage-base-url.xsl -m manpage-quote-apos.xsl ++XMLTO_DEPS := manpage-bold-literal.xsl manpage-base-url.xsl manpage-quote-apos.xsl ++ ++manpage-deps := $(XMLTO_DEPS) ++manpage-cmd := $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man ++ ++manpage-base-url.xsl: manpage-base-url.xsl.in ++ sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@ ++ ++%.xml : %.txt $(ASCIIDOC_DEPS) ++ $(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $< ++ ++man1/%.1 : %.xml $(manpage-deps) ++ mkdir -p man1 ++ $(manpage-cmd) -o man1 $< ++ ++html/%.html : %.txt $(ASCIIDOC_DEPS) ++ mkdir -p html ++ $(TXT_TO_HTML) -d manpage -o $@ $< ++ ++man: man1/git-filter-repo.1 ++html: html/git-filter-repo.html +diff --git a/Documentation/asciidoc.conf b/Documentation/asciidoc.conf +new file mode 100644 +index 0000000..3e4c139 +--- /dev/null ++++ b/Documentation/asciidoc.conf +@@ -0,0 +1,78 @@ ++## linkgit: macro ++# ++# Usage: linkgit:command[manpage-section] ++# ++# Note, {0} is the manpage section, while {target} is the command. ++# ++# Show Git link as: <command>(<section>); if section is defined, else just show ++# the command. ++ ++[macros] ++(?su)[\\]?(?P<name>linkgit):(?P<target>\S*?)\[(?P<attrlist>.*?)\]= ++ ++[attributes] ++asterisk=* ++plus=+ ++caret=^ ++startsb=[ ++endsb=] ++backslash=\ ++tilde=~ ++apostrophe=' ++backtick=` ++litdd=-- ++ ++ifdef::backend-docbook[] ++[linkgit-inlinemacro] ++{0%{target}} ++{0#<citerefentry>} ++{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>} ++{0#</citerefentry>} ++endif::backend-docbook[] ++ ++ifdef::backend-docbook[] ++ifdef::doctype-manpage[] ++# The following two small workarounds insert a simple paragraph after screen ++[listingblock] ++<example><title>{title}</title> ++<literallayout class="monospaced"> ++| ++</literallayout><simpara></simpara> ++{title#}</example> ++ ++[verseblock] ++<formalpara{id? id="{id}"}><title>{title}</title><para> ++{title%}<literallayout{id? id="{id}"}> ++{title#}<literallayout> ++| ++</literallayout> ++{title#}</para></formalpara> ++{title%}<simpara></simpara> ++endif::doctype-manpage[] ++endif::backend-docbook[] ++ ++ifdef::doctype-manpage[] ++ifdef::backend-docbook[] ++[header] ++template::[header-declarations] ++<refentry> ++<refmeta> ++<refentrytitle>{mantitle}</refentrytitle> ++<manvolnum>{manvolnum}</manvolnum> ++<refmiscinfo class="source">{mansource}</refmiscinfo> ++<refmiscinfo class="version">{manversion}</refmiscinfo> ++<refmiscinfo class="manual">{manmanual}</refmiscinfo> ++</refmeta> ++<refnamediv> ++ <refname>{manname}</refname> ++ <refpurpose>{manpurpose}</refpurpose> ++</refnamediv> ++endif::backend-docbook[] ++endif::doctype-manpage[] ++ ++ifdef::backend-xhtml11[] ++[attributes] ++git-relative-html-prefix= ++[linkgit-inlinemacro] ++<a href="{git-relative-html-prefix}{target}.html">{target}{0?({0})}</a> ++endif::backend-xhtml11[] +diff --git a/Documentation/manpage-base-url.xsl.in b/Documentation/manpage-base-url.xsl.in +new file mode 100644 +index 0000000..e800904 +--- /dev/null ++++ b/Documentation/manpage-base-url.xsl.in +@@ -0,0 +1,10 @@ ++<!-- manpage-base-url.xsl: ++ special settings for manpages rendered from newer docbook --> ++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ++ version="1.0"> ++ ++<!-- set a base URL for relative links --> ++<xsl:param name="man.base.url.for.relative.links" ++ >@@MAN_BASE_URL@@</xsl:param> ++ ++</xsl:stylesheet> +diff --git a/Documentation/manpage-bold-literal.xsl b/Documentation/manpage-bold-literal.xsl +new file mode 100644 +index 0000000..e13db85 +--- /dev/null ++++ b/Documentation/manpage-bold-literal.xsl +@@ -0,0 +1,16 @@ ++<!-- manpage-bold-literal.xsl: ++ special formatting for manpages rendered from asciidoc+docbook --> ++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ++ xmlns:d="http://docbook.org/ns/docbook" ++ version="1.0"> ++ ++<!-- render literal text as bold (instead of plain or monospace); ++ this makes literal text easier to distinguish in manpages ++ viewed on a tty --> ++<xsl:template match="literal|d:literal"> ++ <xsl:text>\fB</xsl:text> ++ <xsl:apply-templates/> ++ <xsl:text>\fR</xsl:text> ++</xsl:template> ++ ++</xsl:stylesheet> +diff --git a/Documentation/manpage-normal.xsl b/Documentation/manpage-normal.xsl +new file mode 100644 +index 0000000..a9c7ec6 +--- /dev/null ++++ b/Documentation/manpage-normal.xsl +@@ -0,0 +1,26 @@ ++<!-- manpage-normal.xsl: ++ special settings for manpages rendered from asciidoc+docbook --> ++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ++ version="1.0"> ++ ++ ++<!-- these params silence some output from xmlto --> ++<xsl:param name="man.output.quietly" select="1"/> ++<xsl:param name="refentry.meta.get.quietly" select="1"/> ++ ++<!-- convert asciidoc callouts to man page format --> ++<xsl:template match="co"> ++ <xsl:value-of select="concat('\fB(',substring-after(@id,'-'),')\fR')"/> ++</xsl:template> ++<xsl:template match="calloutlist"> ++ <xsl:text>.sp </xsl:text> ++ <xsl:apply-templates/> ++ <xsl:text> </xsl:text> ++</xsl:template> ++<xsl:template match="callout"> ++ <xsl:value-of select="concat('\fB',substring-after(@arearefs,'-'),'. \fR')"/> ++ <xsl:apply-templates/> ++ <xsl:text>.br </xsl:text> ++</xsl:template> ++ ++</xsl:stylesheet> +diff --git a/Documentation/manpage-quote-apos.xsl b/Documentation/manpage-quote-apos.xsl +new file mode 100644 +index 0000000..aeb8839 +--- /dev/null ++++ b/Documentation/manpage-quote-apos.xsl +@@ -0,0 +1,16 @@ ++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ++ version="1.0"> ++ ++<!-- work around newer groff/man setups using a prettier apostrophe ++ that unfortunately does not quote anything when cut&pasting ++ examples to the shell --> ++<xsl:template name="escape.apostrophe"> ++ <xsl:param name="content"/> ++ <xsl:call-template name="string.subst"> ++ <xsl:with-param name="string" select="$content"/> ++ <xsl:with-param name="target">'</xsl:with-param> ++ <xsl:with-param name="replacement">\(aq</xsl:with-param> ++ </xsl:call-template> ++</xsl:template> ++ ++</xsl:stylesheet> +diff --git a/Makefile b/Makefile +index a443450..d965ae5 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,21 +20,10 @@ test: + fixup_locale: + sed -ie s%@@LOCALEDIR@@%$(localedir)% git-filter-repo + +-# People installing from tarball will already have man1/git-filter-repo.1 and +-# html/git-filter-repo.html. But let's support people installing from a git +-# clone too; for them, just cheat and snag a copy of the built docs that I +-# record in a different branch. +-snag_docs: Documentation/man1/git-filter-repo.1 Documentation/html/git-filter-repo.html ++doc: ++ $(MAKE) -C Documentation man html + +-Documentation/man1/git-filter-repo.1: +- mkdir -p Documentation/man1 +- git show origin/docs:man1/git-filter-repo.1 >Documentation/man1/git-filter-repo.1 +- +-Documentation/html/git-filter-repo.html: +- mkdir -p Documentation/html +- git show origin/docs:html/git-filter-repo.html >Documentation/html/git-filter-repo.html +- +-install: snag_docs #fixup_locale ++install: doc #fixup_locale + install -Dm0755 git-filter-repo "$(DESTDIR)/$(bindir)/git-filter-repo" + install -dm0755 "$(DESTDIR)/$(pythondir)" + ln -sf "$(bindir)/git-filter-repo" "$(DESTDIR)/$(pythondir)/git_filter_repo.py" +-- +2.40.1 + diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 1db0931ac3..083d4edf84 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -48,6 +48,7 @@ ;;; Copyright © 2022 Dhruvin Gandhi <contact <at> dhruvin.dev> ;;; Copyright © 2015, 2022 David Thompson <davet <at> gnu.org> ;;; Copyright © 2023 Nicolas Graves <ngraves <at> ngraves.fr> +;;; Copyright © 2023 Josselin Poiret <dev <at> jpoiret.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3492,26 +3493,45 @@ (define-public tkrev (define-public git-filter-repo (package (name "git-filter-repo") - (version "2.29.0") + (version "2.38.0") (source (origin - ;; Use a release tarball instead of 'git-fetch' because it contains - ;; pre-compiled man-pages which are too hard to build in this context - ;; as it depends on Git's Makefile. - (method url-fetch) - (uri (string-append "https://github.com/newren/git-filter-repo/releases/" - "download/v" version - "/git-filter-repo-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/newren/git-filter-repo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "00nn7k9jqrybb762486fmigsnbcn9lbvimgpfvvarz4ikdp9y9pb")))) - (build-system copy-build-system) + "1al43zpw1mdfy9i05w4xw178abypjwnkk52lqvmbl19lr1l47r4i")) + ;; Sent upstream as PR #477. + (patches (search-patches "git-filter-repo-generate-doc.patch")))) + (build-system gnu-build-system) (arguments - `(#:install-plan - '(("git-filter-repo" "libexec/git-core/") - ("Documentation/man1/" "share/man/man1") - ("/" "" #:include ())))) + (list + #:tests? #f ; No tests + #:phases + (with-imported-modules '((guix build python-build-system)) + #~(begin + (use-modules ((guix build python-build-system) #:select (site-packages))) + (modify-phases %standard-phases + (add-after 'unpack 'fix-dirs + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "Makefile" + (("prefix = \\$\\(HOME\\)") + (string-append "prefix = " #$output)) + (("pythondir = .*") + (string-append "pythondir = " (site-packages inputs outputs)))))) + (delete 'configure) + (replace 'build + (lambda _ + (invoke "make" "doc" #$(string-append "VERSION=" version))))))))) (inputs (list python)) ;for the shebang + (native-inputs + (list asciidoc + docbook-xsl + libxml2 ;for XML_CATALOG_FILES + xmlto)) (home-page "https://github.com/newren/git-filter-repo") (synopsis "Quickly rewrite Git repository history") (description base-commit: da71721db152a338f5d2c35ca3a703fe5df12b27 -- 2.40.1
guix-patches <at> gnu.org
:bug#63874
; Package guix-patches
.
(Sat, 03 Jun 2023 14:07:02 GMT) Full text and rfc822 format available.Message #8 received at 63874 <at> debbugs.gnu.org (full text, mbox):
From: Josselin Poiret <dev <at> jpoiret.xyz> To: 63873 <at> debbugs.gnu.org, 63874 <at> debbugs.gnu.org, control <at> debbugs.gnu.org Cc: Ricardo Wurmus <rekado <at> elephly.net>, Arun Isaac <arunisaac <at> systemreboot.net> Subject: mumi send-email doesn't support complex refs (was: [PATCH 2/2] gnu: b4: Update to 0.12.2.) Date: Sat, 03 Jun 2023 16:06:30 +0200
[Message part 1 (text/plain, inline)]
merge 63873 63874 thankyou Well, sent with `mumi send-email origin/master`, didn't go too well (I guess mumi thought this would only be one mail?). Josselin Poiret <dev <at> jpoiret.xyz> writes: > From: Josselin Poiret <dev <at> jpoiret.xyz> > > * gnu/packages/version-control.scm (b4): Update to 0.12.2. > --- > gnu/packages/version-control.scm | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm > index 083d4edf84..1229ae1f77 100644 > --- a/gnu/packages/version-control.scm > +++ b/gnu/packages/version-control.scm > @@ -2612,13 +2612,13 @@ (define-public patatt > (define-public b4 > (package > (name "b4") > - (version "0.8.0") > + (version "0.12.2") > (source > (origin > (method url-fetch) > (uri (pypi-uri "b4" version)) > (sha256 > - (base32 "115ysciq15sxc8fd9hf7p0f4wnd5xapcfkmq8g33y1c8nbdxclbx")))) > + (base32 "0vmyma13dnpv3vbzamrmzc2ph71bg44hk7rqbc2ji2ppigbszx5n")))) > (build-system python-build-system) > (arguments > (list #:tests? #f ;no tests > @@ -2631,7 +2631,7 @@ (define-public b4 > (inputs > (list python-dkimpy python-dnspython python-requests)) > (propagated-inputs > - (list patatt)) > + (list git-filter-repo patatt)) > (home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git") > (synopsis "Tool for working with patches in public-inbox archives") > (description > -- > 2.40.1 > -- Josselin Poiret
[signature.asc (application/pgp-signature, inline)]
Josselin Poiret <dev <at> jpoiret.xyz>
to control <at> debbugs.gnu.org
.
(Sat, 03 Jun 2023 14:07:03 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#63874
; Package guix-patches
.
(Mon, 05 Jun 2023 23:01:02 GMT) Full text and rfc822 format available.Message #13 received at 63874 <at> debbugs.gnu.org (full text, mbox):
From: Arun Isaac <arunisaac <at> systemreboot.net> To: Josselin Poiret <dev <at> jpoiret.xyz>, 63873 <at> debbugs.gnu.org, 63874 <at> debbugs.gnu.org Cc: Ricardo Wurmus <rekado <at> elephly.net> Subject: Re: mumi send-email doesn't support complex refs (was: [PATCH 2/2] gnu: b4: Update to 0.12.2.) Date: Mon, 05 Jun 2023 23:59:58 +0100
> Well, sent with `mumi send-email origin/master`, didn't go too well (I > guess mumi thought this would only be one mail?). Indeed, `mumi send-email' doesn't know anything about refs. I'll hack on this in the coming week.
guix-patches <at> gnu.org
:bug#63874
; Package guix-patches
.
(Sat, 01 Jul 2023 14:40:02 GMT) Full text and rfc822 format available.Message #16 received at 63874 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Josselin Poiret <dev <at> jpoiret.xyz> Cc: 63874 <at> debbugs.gnu.org Subject: Re: bug#63874: [PATCH 1/2] gnu: git-filter-repo: Update to 2.38.0 and generate documentation. Date: Sat, 01 Jul 2023 16:38:49 +0200
Hello! Josselin Poiret <dev <at> jpoiret.xyz> skribis: > From: Josselin Poiret <dev <at> jpoiret.xyz> > > * gnu/packages/patches/git-filter-repo-generate-doc.patch: > * gnu/local.mk (dist_patch_DATA): > * gnu/packages/version-control.scm (git-filter-repo): Update to 2.38.0, use > git-fetch, use patch and switch to gnu-build-system and G-Exps. [...] > +++ b/gnu/packages/patches/git-filter-repo-generate-doc.patch > @@ -0,0 +1,289 @@ > +From 7c66e1d4a8076f5b0cc29e5c05637ba1363a6bd7 Mon Sep 17 00:00:00 2001 > +Message-Id: <7c66e1d4a8076f5b0cc29e5c05637ba1363a6bd7.1685797909.git.dev <at> jpoiret.xyz> > +From: Josselin Poiret <dev <at> jpoiret.xyz> > +Date: Sat, 3 Jun 2023 13:07:07 +0200 > +Subject: [PATCH] Add documentation generation. > + > +From: Josselin Poiret <dev <at> jpoiret.xyz> > + > +This uses the manpage XSL and asciidoc config files from git 2.40.1. Could you specify the upstream status in the header? It’s a rather big patch so the sooner we can get rid of it, the better! Apart from that, it LGTM! Ludo’.
guix-patches <at> gnu.org
:bug#63874
; Package guix-patches
.
(Sat, 01 Jul 2023 14:40:02 GMT) Full text and rfc822 format available.Message #19 received at 63874 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Josselin Poiret <dev <at> jpoiret.xyz> Cc: 63874 <at> debbugs.gnu.org, 63873 <at> debbugs.gnu.org Subject: Re: bug#63874: [PATCH 1/2] gnu: git-filter-repo: Update to 2.38.0 and generate documentation. Date: Sat, 01 Jul 2023 16:38:59 +0200
Josselin Poiret <dev <at> jpoiret.xyz> skribis: > From: Josselin Poiret <dev <at> jpoiret.xyz> > > * gnu/packages/version-control.scm (b4): Update to 0.12.2. LGTM!
dev <at> jpoiret.xyz, ludo <at> gnu.org, guix-patches <at> gnu.org
:bug#63874
; Package guix-patches
.
(Thu, 15 Feb 2024 17:37:02 GMT) Full text and rfc822 format available.Message #22 received at 63874 <at> debbugs.gnu.org (full text, mbox):
From: Hilton Chain <hako <at> ultrarare.space> To: 63874 <at> debbugs.gnu.org Cc: Hilton Chain <hako <at> ultrarare.space>, Josselin Poiret <dev <at> jpoiret.xyz> Subject: [PATCH v2] gnu: git-filter-repo: Update to 2.38.0. Date: Fri, 16 Feb 2024 01:34:59 +0800
From: Josselin Poiret <dev <at> jpoiret.xyz> * gnu/packages/patches/git-filter-repo-generate-doc.patch: New file. * gnu/local.mk (dist_patch_DATA): Regisiter it. * gnu/packages/version-control.scm (git-filter-repo): Update to 2.38.0. [source]: Switch to git-fetch. Use the patch. [build-system]: Switch to gnu-build-system. [native-inputs]: Add asciidoc, docbook-xsl, libxml2, xmlto. Modified-by: Hilton Chain <hako <at> ultrarare.space> Change-Id: I7b15975ea56c44ae580d19cfe5a9e3eb75c6db0d --- Hi Josselin, Ludo, I adjusted the patch a bit, and added a phase to unpack git's source. So that the shipped patch only includes Makefiles now. gnu/local.mk | 1 + .../git-filter-repo-generate-doc.patch | 88 +++++++++++++++++++ gnu/packages/version-control.scm | 69 ++++++++++++--- 3 files changed, 144 insertions(+), 14 deletions(-) create mode 100644 gnu/packages/patches/git-filter-repo-generate-doc.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4bd8e6ec6a..d9a4c8f204 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1308,6 +1308,7 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ + %D%/packages/patches/git-filter-repo-generate-doc.patch \ %D%/packages/patches/gitg-fix-positional-argument.patch \ %D%/packages/patches/gklib-suitesparse.patch \ %D%/packages/patches/glib-appinfo-watch.patch \ diff --git a/gnu/packages/patches/git-filter-repo-generate-doc.patch b/gnu/packages/patches/git-filter-repo-generate-doc.patch new file mode 100644 index 0000000000..e0bbc7831c --- /dev/null +++ b/gnu/packages/patches/git-filter-repo-generate-doc.patch @@ -0,0 +1,88 @@ +From 56e6857e71d2b2a2236625f3c8b112bd40a8b164 Mon Sep 17 00:00:00 2001 +From: Josselin Poiret <dev <at> jpoiret.xyz> +Date: Fri, 16 Feb 2024 00:21:06 +0800 +Subject: [PATCH] Add documentation generation. + +This requires the manpage XSL and asciidoc config files from git 2.41.0. + +Modified-by: Hilton Chain <hako <at> ultrarare.space> +--- + Documentation/Makefile | 34 ++++++++++++++++++++++++++++++++++ + Makefile | 17 +++-------------- + 2 files changed, 37 insertions(+), 14 deletions(-) + create mode 100644 Documentation/Makefile + +diff --git a/Documentation/Makefile b/Documentation/Makefile +new file mode 100644 +index 0000000..d81ffbe +--- /dev/null ++++ b/Documentation/Makefile +@@ -0,0 +1,34 @@ ++MAN_BASE_URL := $(prefix)/share/doc/git-doc/ ++VERSION := $(git log --pretty="%H" -n 1) ++ ++ASCIIDOC := asciidoc ++ASCIIDOC_EXTRA := ++ASCIIDOC_HTML := xhtml11 ++ASCIIDOC_DOCBOOK := docbook ++ASCIIDOC_CONF := -f asciidoc.conf ++ASCIIDOC_COMMON := $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \ ++ -amanmanual='git-filter-repo Manual' -amansource='git-filter-repo $(VERSION)' ++ASCIIDOC_DEPS := asciidoc.conf ++TXT_TO_HTML := $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML) ++TXT_TO_XML := $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK) ++MANPAGE_XSL := manpage-normal.xsl ++XMLTO := xmlto ++XMLTO_EXTRA := -m manpage-bold-literal.xsl \ ++ --stringparam man.base.url.for.relative.links='$(MAN_BASE_URL)' ++ ++manpage-prereqs := $(wildcard manpage*.xsl) ++manpage-cmd := $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man ++ ++%.xml : %.txt $(ASCIIDOC_DEPS) ++ $(TXT_TO_XML) -d manpage -o $@ $< ++ ++man1/%.1 : %.xml $(manpage-prereqs) ++ mkdir -p man1 ++ $(manpage-cmd) -o man1 $< ++ ++html/%.html : %.txt $(ASCIIDOC_DEPS) ++ mkdir -p html ++ $(TXT_TO_HTML) -d manpage -o $@ $< ++ ++man: man1/git-filter-repo.1 ++html: html/git-filter-repo.html +diff --git a/Makefile b/Makefile +index a443450..d965ae5 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,21 +20,10 @@ test: + fixup_locale: + sed -ie s%@@LOCALEDIR@@%$(localedir)% git-filter-repo + +-# People installing from tarball will already have man1/git-filter-repo.1 and +-# html/git-filter-repo.html. But let's support people installing from a git +-# clone too; for them, just cheat and snag a copy of the built docs that I +-# record in a different branch. +-snag_docs: Documentation/man1/git-filter-repo.1 Documentation/html/git-filter-repo.html ++doc: ++ $(MAKE) -C Documentation man html + +-Documentation/man1/git-filter-repo.1: +- mkdir -p Documentation/man1 +- git show origin/docs:man1/git-filter-repo.1 >Documentation/man1/git-filter-repo.1 +- +-Documentation/html/git-filter-repo.html: +- mkdir -p Documentation/html +- git show origin/docs:html/git-filter-repo.html >Documentation/html/git-filter-repo.html +- +-install: snag_docs #fixup_locale ++install: doc #fixup_locale + install -Dm0755 git-filter-repo "$(DESTDIR)/$(bindir)/git-filter-repo" + install -dm0755 "$(DESTDIR)/$(pythondir)" + ln -sf "$(bindir)/git-filter-repo" "$(DESTDIR)/$(pythondir)/git_filter_repo.py" + +base-commit: cbc6535694380d3a3bf3e5c96410d4ce7e8de94f +-- +2.41.0 + diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 242e6dae2e..148349cb49 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -50,6 +50,8 @@ ;;; Copyright © 2023 Nicolas Graves <ngraves <at> ngraves.fr> ;;; Copyright © 2023 Kjartan Oli Agustsson <kjartanoli <at> disroot.org> ;;; Copyright © 2023 Steve George <steve <at> futurile.net> +;;; Copyright © 2023 Josselin Poiret <dev <at> jpoiret.xyz> +;;; Copyright © 2024 Hilton Chain <hako <at> ultrarare.space> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3844,25 +3846,64 @@ (define-public qgit (define-public git-filter-repo (package (name "git-filter-repo") - (version "2.29.0") + (version "2.38.0") (source (origin - ;; Use a release tarball instead of 'git-fetch' because it contains - ;; pre-compiled man-pages which are too hard to build in this context - ;; as it depends on Git's Makefile. - (method url-fetch) - (uri (string-append "https://github.com/newren/git-filter-repo/releases/" - "download/v" version - "/git-filter-repo-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/newren/git-filter-repo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "00nn7k9jqrybb762486fmigsnbcn9lbvimgpfvvarz4ikdp9y9pb")))) - (build-system copy-build-system) + "1al43zpw1mdfy9i05w4xw178abypjwnkk52lqvmbl19lr1l47r4i")) + ;; Modified from <https://github.com/newren/git-filter-repo/pull/477>. + ;; Used with 'unpack-git-source phase. + (patches (search-patches "git-filter-repo-generate-doc.patch")))) + (build-system gnu-build-system) (arguments - `(#:install-plan - '(("git-filter-repo" "libexec/git-core/") - ("Documentation/man1/" "share/man/man1") - ("/" "" #:include ())))) + (list + #:tests? #f ;No tests. + #:imported-modules + `(,@%gnu-build-system-modules + (guix build python-build-system)) + #:modules + '((guix build gnu-build-system) + ((guix build python-build-system) #:select (site-packages)) + (guix build utils) + (srfi srfi-26)) + #:make-flags + #~(list (string-append "prefix=" #$output) + (string-append "VERSION=" #$(package-version this-package))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'unpack-git-source + (lambda _ + (let* ((old-path (getcwd)) + (doc-source (string-append old-path "/Documentation"))) + (mkdir-p "git-source") + (chdir "git-source") + ((assoc-ref %standard-phases 'unpack) + #:source #+(package-source git)) + (for-each + (cut install-file <> doc-source) + (find-files "." "asciidoc\\.conf$|manpage.*\\.xsl$")) + (chdir old-path) + (delete-file-recursively "git-source")))) + (add-before 'build 'set-pythondir + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "Makefile" + (("(pythondir = ).*" _ pre) + (string-append pre (site-packages inputs outputs)))))) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "doc" make-flags)))))) + (native-inputs + (list asciidoc + docbook-xsl + libxml2 ;for XML_CATALOG_FILES + xmlto)) (inputs (list python)) ;for the shebang (home-page "https://github.com/newren/git-filter-repo") (synopsis "Quickly rewrite Git repository history") base-commit: 203344cc37c8a7df1ec1454381b5069d53ce7f9e prerequisite-patch-id: bc542897db0e11da4c0f8da09ec31dd533cf2825 prerequisite-patch-id: fd7da036342f36a8c698f5c8975f9e48d3ade435 prerequisite-patch-id: a2c81c14423bb9858f33d7d26976e8eea61982b7 prerequisite-patch-id: e30fd25b1dc4aaaff76474153836cd48e8565eb9 prerequisite-patch-id: 1d070b26dc64ee2ec95f14c4f5fc23419f766810 prerequisite-patch-id: 03de992f0312d5f0ee3368ebc3c1fad7c955d095 prerequisite-patch-id: 82a04291e3a1bb33ced83672956934fbe98d31dc -- 2.41.0
guix-patches <at> gnu.org
:bug#63874
; Package guix-patches
.
(Sun, 18 Feb 2024 22:38:01 GMT) Full text and rfc822 format available.Message #25 received at 63874 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Hilton Chain <hako <at> ultrarare.space> Cc: 63874 <at> debbugs.gnu.org, Josselin Poiret <dev <at> jpoiret.xyz> Subject: Re: [bug#63874] [PATCH v2] gnu: git-filter-repo: Update to 2.38.0. Date: Sun, 18 Feb 2024 23:37:18 +0100
Hilton Chain <hako <at> ultrarare.space> skribis: > From: Josselin Poiret <dev <at> jpoiret.xyz> > > * gnu/packages/patches/git-filter-repo-generate-doc.patch: New file. > * gnu/local.mk (dist_patch_DATA): Regisiter it. > * gnu/packages/version-control.scm (git-filter-repo): Update to 2.38.0. > [source]: Switch to git-fetch. > Use the patch. > [build-system]: Switch to gnu-build-system. > [native-inputs]: Add asciidoc, docbook-xsl, libxml2, xmlto. > > Modified-by: Hilton Chain <hako <at> ultrarare.space> > Change-Id: I7b15975ea56c44ae580d19cfe5a9e3eb75c6db0d > --- > > Hi Josselin, Ludo, > > I adjusted the patch a bit, and added a phase to unpack git's source. So that > the shipped patch only includes Makefiles now. Hi! LGTM. Thanks, Ludo’.
Hilton Chain <hako <at> ultrarare.space>
:Josselin Poiret <dev <at> jpoiret.xyz>
:Message #30 received at 63874-done <at> debbugs.gnu.org (full text, mbox):
From: Hilton Chain <hako <at> ultrarare.space> To: Ludovic Courtès <ludo <at> gnu.org> Cc: Josselin Poiret <dev <at> jpoiret.xyz>, 63874-done <at> debbugs.gnu.org Subject: Re: [bug#63874] [PATCH v2] gnu: git-filter-repo: Update to 2.38.0. Date: Sun, 25 Feb 2024 00:46:22 +0800
On Mon, 19 Feb 2024 06:37:18 +0800, Ludovic Courtès wrote: > > Hilton Chain <hako <at> ultrarare.space> skribis: > > > From: Josselin Poiret <dev <at> jpoiret.xyz> > > > > * gnu/packages/patches/git-filter-repo-generate-doc.patch: New file. > > * gnu/local.mk (dist_patch_DATA): Regisiter it. > > * gnu/packages/version-control.scm (git-filter-repo): Update to 2.38.0. > > [source]: Switch to git-fetch. > > Use the patch. > > [build-system]: Switch to gnu-build-system. > > [native-inputs]: Add asciidoc, docbook-xsl, libxml2, xmlto. > > > > Modified-by: Hilton Chain <hako <at> ultrarare.space> > > Change-Id: I7b15975ea56c44ae580d19cfe5a9e3eb75c6db0d > > --- > > > > Hi Josselin, Ludo, > > > > I adjusted the patch a bit, and added a phase to unpack git's source. So that > > the shipped patch only includes Makefiles now. > > Hi! LGTM. Thank you! I have applied the patch as 313458c58c3fd89705081e1721e7c6fe7818d813.
Hilton Chain <hako <at> ultrarare.space>
:Josselin Poiret <dev <at> jpoiret.xyz>
:Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sun, 24 Mar 2024 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.