gnu: Add patman.

* gnu/packages/bootloaders.scm (patman): New variable.
* gnu/packages/patches/u-boot-patman-fix-help.patch: New patch.
* gnu/packages/patches/u-boot-patman-get-maintainer.patch: Likewise.
* gnu/packages/patches/u-boot-patman-local-conf.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Register them.
This commit is contained in:
Maxim Cournoyer 2022-12-16 15:29:27 -05:00
parent 0d4587d65f
commit bcd131dafb
No known key found for this signature in database
GPG key ID: 1260E46482E63562
5 changed files with 358 additions and 1 deletions

View file

@ -69,7 +69,10 @@
#:use-module (gnu packages valgrind)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages xorg)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
@ -641,7 +644,10 @@ tree binary files. These are board description files used by Linux and BSD.")
%u-boot-allow-disabling-openssl-patch
%u-boot-sifive-prevent-relocating-initrd-fdt
%u-boot-rk3399-enable-emmc-phy-patch
(search-patch "u-boot-infodocs-target.patch")))
(search-patch "u-boot-infodocs-target.patch")
(search-patch "u-boot-patman-fix-help.patch")
(search-patch "u-boot-patman-local-conf.patch")
(search-patch "u-boot-patman-get-maintainer.patch")))
(method url-fetch)
(uri (string-append
"https://ftp.denx.de/pub/u-boot/"
@ -816,6 +822,34 @@ def test_ctrl_c"))
" This package provides board-independent tools "
"of U-Boot."))))
;;; This is packaged separately, as it can be used in other contexts than for
;;; U-Boot development.
(define-public patman
(package
(inherit u-boot)
(name "patman")
(build-system pyproject-build-system)
(arguments
;; The test suite strongly relies on the git metadata being available (23
;; failed, 14 passed).
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "tools/patman"))))))
(inputs (list python-pygit2 python-requests))
(synopsis "Patch automation tool")
(description "Patman is a patch automation script which:
@itemize
@item Creates patches directly from your branch
@item Cleans them up by removing unwanted tags
@item Inserts a cover letter with change lists
@item Runs the patches through automated checks
@item Optionally emails them out to selected people.
@end itemize")))
(define*-public (make-u-boot-package board triplet
#:key
defconfig