diff mbox series

[bug#70240] gnu: uefitool: Add extra outputs, correct typo

Message ID db7d802738f4de9e67fb5287769d5a702abeda6a.1712417040.git.ian@retrospec.tv
State New
Headers show
Series [bug#70240] gnu: uefitool: Add extra outputs, correct typo | expand

Commit Message

Ian Eure April 6, 2024, 3:24 p.m. UTC
* gnu/packages/flashing-tools.scm (uefitool): Add UEFIPatch and UEFIReplace in
addition to UEFITool; add outputs for them.  Correct package description.

Change-Id: I45ca03a71c463c91ab11e9dcd47971afc06724b7
---
 gnu/packages/flashing-tools.scm | 46 ++++++++++++++++++++++++---------
 1 file changed, 34 insertions(+), 12 deletions(-)


base-commit: ab3731d255ff1ac8d6874bc0f68ad94f21f08e79

Comments

Christopher Baines April 15, 2024, 8:58 a.m. UTC | #1
Ian Eure <ian@retrospec.tv> writes:

> * gnu/packages/flashing-tools.scm (uefitool): Add UEFIPatch and UEFIReplace in
> addition to UEFITool; add outputs for them.  Correct package description.
>
> Change-Id: I45ca03a71c463c91ab11e9dcd47971afc06724b7
> ---
>  gnu/packages/flashing-tools.scm | 46 ++++++++++++++++++++++++---------
>  1 file changed, 34 insertions(+), 12 deletions(-)
>
> diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
> index 83a4c3e3e7..3787e9d32a 100644
> --- a/gnu/packages/flashing-tools.scm
> +++ b/gnu/packages/flashing-tools.scm
> @@ -493,29 +493,51 @@ (define-public uefitool
>      (source (origin
>                (method git-fetch)
>                (uri (git-reference
> -                     (url "https://github.com/LongSoft/UEFITool")
> -                     (commit version)))
> +                    (url "https://github.com/LongSoft/UEFITool")
> +                    (commit version)))
>                (sha256
>                 (base32
>                  "1n2hd2dysi5bv2iyq40phh1jxc48gdwzs414vfbxvcharcwapnja"))
>                (file-name (git-file-name name version))))
>      (build-system gnu-build-system)
> +    (outputs '("out" "uefipatch" "uefireplace"))

Is there a reason you have split the files across several outputs?

Generally, unless there's a specific reason to do so, it's better to
keep things simple and in one output.
diff mbox series

Patch

diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 83a4c3e3e7..3787e9d32a 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -493,29 +493,51 @@  (define-public uefitool
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                     (url "https://github.com/LongSoft/UEFITool")
-                     (commit version)))
+                    (url "https://github.com/LongSoft/UEFITool")
+                    (commit version)))
               (sha256
                (base32
                 "1n2hd2dysi5bv2iyq40phh1jxc48gdwzs414vfbxvcharcwapnja"))
               (file-name (git-file-name name version))))
     (build-system gnu-build-system)
+    (outputs '("out" "uefipatch" "uefireplace"))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda _
-             (invoke "qmake" "-makefile")))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (install-file "UEFITool" (string-append (assoc-ref outputs "out")
-                                                     "/bin")))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda _
+              (invoke "qmake" "-makefile")))
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (install-file "UEFITool" (string-append (assoc-ref outputs "out")
+                                                      "/bin"))))
+          (add-after 'configure 'configure-extras
+            (lambda _
+              (with-directory-excursion "UEFIPatch"
+                (invoke "qmake" "-makefile"))
+              (with-directory-excursion "UEFIReplace"
+                (invoke "qmake" "-makefile"))))
+          (add-after 'build 'build-extras
+            (lambda _
+              (with-directory-excursion "UEFIPatch"
+                (invoke "make" "-j"))
+              (with-directory-excursion "UEFIReplace"
+                (invoke "make" "-j"))))
+          (add-after 'install 'install-extras
+            (lambda* (#:key outputs #:allow-other-keys)
+              (install-file "UEFIPatch/UEFIPatch"
+                            (string-append (assoc-ref outputs "uefipatch")
+                                           "/bin"))
+              (install-file "UEFIReplace/UEFIReplace"
+                            (string-append (assoc-ref outputs "uefireplace")
+                                           "/bin")))))))
     (inputs
      (list qtbase-5))
     (home-page "https://github.com/LongSoft/UEFITool/")
     (synopsis "UEFI image editor")
     (description "@code{uefitool} is a graphical image file editor for
-Unifinished Extensible Firmware Interface (UEFI) images.")
+Unified Extensible Firmware Interface (UEFI) images.")
     (license license:bsd-2)))
 
 (define-public srecord