GNU bug report logs - #67119
[PATCH 1/4] gnu: ovmf: Update to 202308.

Previous Next

Package: guix-patches;

Reported by: spacecadet <at> purge.sh

Date: Sun, 12 Nov 2023 02:49:02 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

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 67119 in the body.
You can then email your comments to 67119 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


Report forwarded to guix-patches <at> gnu.org:
bug#67119; Package guix-patches. (Sun, 12 Nov 2023 02:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to spacecadet <at> purge.sh:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 12 Nov 2023 02:49:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: spacecadet <at> purge.sh
To: Guix Patches <guix-patches <at> gnu.org>
Subject: [PATCH 1/4] gnu: ovmf: Update to 202308.
Date: Sun, 12 Nov 2023 02:48:05 +0000
Update package to 202308 and add toolchain-ver variable for the GCC
version being use in the build.
---
 gnu/packages/firmware.scm | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 294bbea184..fd8b6bb8f0 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -872,21 +872,21 @@ (define-public edk2-tools
     (license license:bsd-2)))

 (define-public ovmf
-  (let ((commit "13a50a6fe1dcfa6600c38456ee24e0f9ecf51b5f")
-        (revision "1"))
+  (let ((toolchain-ver "GCC5"))
     (package
       (name "ovmf")
-      (version (git-version "20170116" revision commit))
+      (version "202308")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
                       ;; OVMF is part of the edk2 source tree.
                       (url "https://github.com/tianocore/edk2")
-                      (commit commit)))
+                      (recursive? #t) ;edk2 now uses a lot of 
submodules
+                      (commit (string-append "edk2-stable" version))))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  
"1gy2332kdqk8bjzpcsripx10896rbvgl0ic7r344kmpiwdgm948b"))))
+                  
"04rnfnaqr2c7ayplj7ib730zp1snw157zx5rmykz5hz1zz2vb20j"))))
       (build-system gnu-build-system)
       (arguments
        (list
@@ -916,41 +916,56 @@ (define-public ovmf
                        (bin (string-append tools 
"/BinWrappers/PosixLike")))
                   (setenv "WORKSPACE" cwd)
                   (setenv "EDK_TOOLS_PATH" tools)
+                  (setenv "PYTHON3_ENABLE" "TRUE")
+                  (setenv "PYTHON_COMMAND" "python3")
                   (setenv "PATH" (string-append (getenv "PATH") ":" 
bin))
                   (invoke "bash" "edksetup.sh")
+                  (substitute* "Conf/tools_def.txt"
+                    ;; Guix gcc is compiled without pie
+                    ;; The -no-pie flag causes the Ia32 build to fail
+                    (("-no-pie") ""))
                   (substitute* "Conf/target.txt"
                     (("^TARGET[ ]*=.*$") "TARGET = RELEASE\n")
+                    (("^TOOL_CHAIN_TAG[ ]*=.*$") (string-append 
"TOOL_CHAIN_TAG = " #$toolchain-ver "\n"))
+                    (("^TARGET_ARCH[ ]*=.*$")
+                     (string-append "TARGET_ARCH = IA32"
+                                    #$@(if (string=? "x86_64-linux" 
(%current-system))
+                                         '(", X64")
+                                         '())
+                                    "\n"))
                     (("^MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*$")
                      (format #f "MAX_CONCURRENT_THREAD_NUMBER = ~a~%"
                              (number->string (parallel-job-count)))))
                   ;; Build build support.
-                  (setenv "BUILD_CC" "gcc")
+                  (setenv "CC" "gcc")
                   (invoke "make" "-C" tools))))
             (replace 'build
               (lambda _
-                (invoke "build" "-a" "IA32" "-t" "GCC49"
+                (invoke "build" "-a" "IA32" "-t" #$toolchain-ver
                         "-p" "OvmfPkg/OvmfPkgIa32.dsc")))
             #$@(if (string=? "x86_64-linux" (%current-system))
                    #~((add-after 'build 'build-x64
                         (lambda _
-                          (invoke "build" "-a" "X64" "-t" "GCC49"
+                          (invoke "build" "-a" "X64" "-t" 
#$toolchain-ver
                                   "-p" "OvmfPkg/OvmfPkgX64.dsc"))))
                    #~())
             (replace 'install
               (lambda _
-                (let ((fmw (string-append #$output "/share/firmware")))
+                (let ((fmw (string-append #$output "/share/firmware"))
+                      (toolchain-ver #$toolchain-ver))
                   (mkdir-p fmw)
-                  (copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd"
+                  (copy-file (string-append "Build/OvmfIa32/RELEASE_" 
toolchain-ver "/FV/OVMF.fd")
                              (string-append fmw "/ovmf_ia32.bin"))
                   #$@(if (string=? "x86_64-linux" (%current-system))
-                         '((copy-file 
"Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd"
+                         '((copy-file (string-append 
"Build/OvmfX64/RELEASE_" toolchain-ver "/FV/OVMF.fd")
                                       (string-append fmw 
"/ovmf_x64.bin")))
                          '())))))))
       (native-inputs
        `(("acpica" ,acpica)
          ("gcc <at> 5" ,gcc-5)
          ("nasm" ,nasm)
-         ("python-2" ,python-2)
+         ("perl" ,perl)
+         ("python-3" ,python-3)
          ("util-linux" ,util-linux "lib")))
       (supported-systems '("x86_64-linux" "i686-linux"))
       (home-page "https://www.tianocore.org")

base-commit: af6105afc67a15a491a0a4fd18a28c9f801a0b94
-- 
2.41.0




Information forwarded to guix-patches <at> gnu.org:
bug#67119; Package guix-patches. (Sun, 12 Nov 2023 03:04:02 GMT) Full text and rfc822 format available.

Message #8 received at 67119 <at> debbugs.gnu.org (full text, mbox):

From: spacecadet <at> purge.sh
To: 67119 <at> debbugs.gnu.org
Subject: [PATCH 2/4] gnu: ovmf: Add OVMF_CODE and OVMF_VARS files.
Date: Sun, 12 Nov 2023 03:02:17 +0000
Add OVMF_CODE.fd and OVMF_VARS.fs to outputs as ovmf_code_arch.bin and
ovmf_vars_arch.bin, respectively, for both ia32 and x64 architectures.
---
 gnu/packages/firmware.scm | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index fd8b6bb8f0..53b89e4d90 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -954,12 +954,17 @@ (define-public ovmf
                 (let ((fmw (string-append #$output "/share/firmware"))
                       (toolchain-ver #$toolchain-ver))
                   (mkdir-p fmw)
-                  (copy-file (string-append "Build/OvmfIa32/RELEASE_" 
toolchain-ver "/FV/OVMF.fd")
-                             (string-append fmw "/ovmf_ia32.bin"))
-                  #$@(if (string=? "x86_64-linux" (%current-system))
-                         '((copy-file (string-append 
"Build/OvmfX64/RELEASE_" toolchain-ver "/FV/OVMF.fd")
-                                      (string-append fmw 
"/ovmf_x64.bin")))
-                         '())))))))
+                  (for-each
+                    (lambda (file)
+                      (copy-file (string-append 
"Build/OvmfIa32/RELEASE_" toolchain-ver "/FV/" file ".fd")
+                                 (string-append fmw "/" 
(string-downcase file) "_ia32.bin"))
+                      #$@(if (string=? "x86_64-linux" 
(%current-system))
+                           '((copy-file (string-append 
"Build/OvmfX64/RELEASE_" toolchain-ver "/FV/" file ".fd")
+                                        (string-append fmw "/" 
(string-downcase file) "_x64.bin")))
+                           '()))
+                    (list "OVMF"
+                          "OVMF_CODE"
+                          "OVMF_VARS"))))))))
       (native-inputs
        `(("acpica" ,acpica)
          ("gcc <at> 5" ,gcc-5)
-- 
2.41.0




Information forwarded to guix-patches <at> gnu.org:
bug#67119; Package guix-patches. (Sun, 12 Nov 2023 03:08:01 GMT) Full text and rfc822 format available.

Message #11 received at 67119 <at> debbugs.gnu.org (full text, mbox):

From: spacecadet <at> purge.sh
To: 67119 <at> debbugs.gnu.org
Subject: [PATCH 3/4] gnu: ovmf: Update ovmf-aarch64 to use GCC5.
Date: Sun, 12 Nov 2023 03:06:13 +0000
Updating OVMF to 202308 requires GCC5, packages inheriting from ovmf
also need to be updated.
---
 gnu/packages/firmware.scm | 61 ++++++++++++++++++++-------------------
 1 file changed, 31 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 53b89e4d90..e713aa9ac6 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -981,36 +981,37 @@ (define-public ovmf
                      license:bsd-2 license:bsd-3 license:bsd-4)))))

 (define-public ovmf-aarch64
-  (package
-    (inherit ovmf)
-    (name "ovmf-aarch64")
-    (native-inputs
-     (append (package-native-inputs ovmf)
-             (if (not (string-prefix? "aarch64" (%current-system)))
-                 `(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu"))
-                   ("cross-binutils" ,(cross-binutils 
"aarch64-linux-gnu")))
-                 '())))
-    (arguments
-     (substitute-keyword-arguments (package-arguments ovmf)
-       ((#:phases phases)
-        #~(modify-phases #$phases
-            #$@(if (string-prefix? "aarch64" (%current-system))
-                   '()
-                   '((add-before 'configure 'set-env
-                       (lambda _
-                         (setenv "GCC49_AARCH64_PREFIX" 
"aarch64-linux-gnu-")))))
-            (replace 'build
-              (lambda _
-                (invoke "build" "-a" "AARCH64" "-t" "GCC49"
-                        "-p" "ArmVirtPkg/ArmVirtQemu.dsc")))
-            (delete 'build-x64)
-            (replace 'install
-              (lambda _
-                (let ((fmw (string-append #$output "/share/firmware")))
-                  (mkdir-p fmw)
-                  (copy-file 
"Build/ArmVirtQemu-AARCH64/RELEASE_GCC49/FV/QEMU_EFI.fd"
-                             (string-append fmw 
"/ovmf_aarch64.bin")))))))))
-    (supported-systems %supported-systems)))
+  (let ((toolchain-ver "GCC5"))
+    (package
+      (inherit ovmf)
+      (name "ovmf-aarch64")
+      (native-inputs
+       (append (package-native-inputs ovmf)
+               (if (not (string-prefix? "aarch64" (%current-system)))
+                   `(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu"))
+                     ("cross-binutils" ,(cross-binutils 
"aarch64-linux-gnu")))
+                   '())))
+      (arguments
+       (substitute-keyword-arguments (package-arguments ovmf)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              #$@(if (string-prefix? "aarch64" (%current-system))
+                     '()
+                     #~((add-before 'configure 'set-env
+                          (lambda _
+                            (setenv (string-append #$toolchain-ver 
"_AARCH64_PREFIX") "aarch64-linux-gnu-")))))
+              (replace 'build
+                (lambda _
+                  (invoke "build" "-a" "AARCH64" "-t" #$toolchain-ver
+                          "-p" "ArmVirtPkg/ArmVirtQemu.dsc")))
+              (delete 'build-x64)
+              (replace 'install
+                (lambda _
+                  (let ((fmw (string-append #$output 
"/share/firmware")))
+                    (mkdir-p fmw)
+                    (copy-file (string-append 
"Build/ArmVirtQemu-AARCH64/RELEASE_" #$toolchain-ver "/FV/QEMU_EFI.fd")
+                               (string-append fmw 
"/ovmf_aarch64.bin")))))))))
+      (supported-systems %supported-systems))))

 (define-public ovmf-arm
   (package
-- 
2.41.0




Information forwarded to guix-patches <at> gnu.org:
bug#67119; Package guix-patches. (Sun, 12 Nov 2023 03:09:02 GMT) Full text and rfc822 format available.

Message #14 received at 67119 <at> debbugs.gnu.org (full text, mbox):

From: spacecadet <at> purge.sh
To: 67119 <at> debbugs.gnu.org
Subject: [PATCH 4/4] gnu: ovmf: Update ovmf-arm with GCC5.
Date: Sun, 12 Nov 2023 03:07:35 +0000
Updating OVMF to 202308 requires GCC5, packages inheriting from ovmf
also need to be updated.
---
 gnu/packages/firmware.scm | 61 ++++++++++++++++++++-------------------
 1 file changed, 31 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index e713aa9ac6..0ee618cbcb 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1014,36 +1014,37 @@ (define-public ovmf-aarch64
       (supported-systems %supported-systems))))

 (define-public ovmf-arm
-  (package
-    (inherit ovmf)
-    (name "ovmf-arm")
-    (native-inputs
-     (append (package-native-inputs ovmf)
-             (if (not (string-prefix? "armhf" (%current-system)))
-                 `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"))
-                   ("cross-binutils" ,(cross-binutils 
"arm-linux-gnueabihf")))
-                 '())))
-    (arguments
-     (substitute-keyword-arguments (package-arguments ovmf)
-       ((#:phases phases)
-        #~(modify-phases #$phases
-            #$@(if (string-prefix? "armhf" (%current-system))
-                   '()
-                   '((add-before 'configure 'set-env
-                       (lambda _
-                         (setenv "GCC49_ARM_PREFIX" 
"arm-linux-gnueabihf-")))))
-            (replace 'build
-              (lambda _
-                (invoke "build" "-a" "ARM" "-t" "GCC49"
-                        "-p" "ArmVirtPkg/ArmVirtQemu.dsc")))
-            (delete 'build-x64)
-            (replace 'install
-              (lambda _
-                (let ((fmw (string-append #$output "/share/firmware")))
-                  (mkdir-p fmw)
-                  (copy-file 
"Build/ArmVirtQemu-ARM/RELEASE_GCC49/FV/QEMU_EFI.fd"
-                             (string-append fmw 
"/ovmf_arm.bin")))))))))
-    (supported-systems %supported-systems)))
+  (let ((toolchain-ver "GCC5"))
+    (package
+      (inherit ovmf)
+      (name "ovmf-arm")
+      (native-inputs
+       (append (package-native-inputs ovmf)
+               (if (not (string-prefix? "armhf" (%current-system)))
+                   `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"))
+                     ("cross-binutils" ,(cross-binutils 
"arm-linux-gnueabihf")))
+                   '())))
+      (arguments
+       (substitute-keyword-arguments (package-arguments ovmf)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              #$@(if (string-prefix? "armhf" (%current-system))
+                     '()
+                     #~((add-before 'configure 'set-env
+                          (lambda _
+                            (setenv (string-append #$toolchain-ver 
"_ARM_PREFIX") "arm-linux-gnueabihf-")))))
+              (replace 'build
+                (lambda _
+                  (invoke "build" "-a" "ARM" "-t" #$toolchain-ver
+                          "-p" "ArmVirtPkg/ArmVirtQemu.dsc")))
+              (delete 'build-x64)
+              (replace 'install
+                (lambda _
+                  (let ((fmw (string-append #$output 
"/share/firmware")))
+                    (mkdir-p fmw)
+                    (copy-file (string-append 
"Build/ArmVirtQemu-ARM/RELEASE_" #$toolchain-ver "/FV/QEMU_EFI.fd")
+                               (string-append fmw 
"/ovmf_arm.bin")))))))))
+      (supported-systems %supported-systems))))

 (define* (make-arm-trusted-firmware platform
                                     #:key (triplet 
"aarch64-linux-gnu"))
-- 
2.41.0




Information forwarded to guix-patches <at> gnu.org:
bug#67119; Package guix-patches. (Mon, 11 Dec 2023 22:35:02 GMT) Full text and rfc822 format available.

Message #17 received at 67119 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: spacecadet <at> purge.sh
Cc: Vagrant Cascadian <vagrant <at> debian.org>,
 Efraim Flashner <efraim <at> flashner.co.il>, 67119 <at> debbugs.gnu.org
Subject: Re: [bug#67119] [PATCH 1/4] gnu: ovmf: Update to 202308.
Date: Mon, 11 Dec 2023 23:34:07 +0100
Hi,

spacecadet <at> purge.sh skribis:

> Update package to 202308 and add toolchain-ver variable for the GCC
> version being use in the build.

Cc’ing the ‘embedded’ team so they can take a look.

  https://issues.guix.gnu.org/67119

Ludo’.




Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Tue, 19 Dec 2023 14:34:03 GMT) Full text and rfc822 format available.

Notification sent to spacecadet <at> purge.sh:
bug acknowledged by developer. (Tue, 19 Dec 2023 14:34:03 GMT) Full text and rfc822 format available.

Message #22 received at 67119-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: spacecadet <at> purge.sh
Cc: 67119-done <at> debbugs.gnu.org
Subject: Re: [bug#67119] [PATCH 1/4] gnu: ovmf: Update to 202308.
Date: Tue, 19 Dec 2023 16:32:58 +0200
[Message part 1 (text/plain, inline)]
Thanks. Patches pushed!

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 17 Jan 2024 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 113 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.