summaryrefslogtreecommitdiff
path: root/sys-firmware
diff options
context:
space:
mode:
Diffstat (limited to 'sys-firmware')
-rw-r--r--sys-firmware/Manifest.gzbin4397 -> 4389 bytes
-rw-r--r--sys-firmware/edk2-bin/Manifest2
-rw-r--r--sys-firmware/edk2-bin/metadata.xml4
-rw-r--r--sys-firmware/edk2/Manifest10
-rw-r--r--sys-firmware/edk2/edk2-202411.ebuild2
-rw-r--r--sys-firmware/edk2/edk2-202502.ebuild340
-rw-r--r--sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json8
-rw-r--r--sys-firmware/edk2/metadata.xml20
8 files changed, 369 insertions, 17 deletions
diff --git a/sys-firmware/Manifest.gz b/sys-firmware/Manifest.gz
index 7f40f9acead3..8dd15089d762 100644
--- a/sys-firmware/Manifest.gz
+++ b/sys-firmware/Manifest.gz
Binary files differ
diff --git a/sys-firmware/edk2-bin/Manifest b/sys-firmware/edk2-bin/Manifest
index e688bcd5481e..5eb7df55e510 100644
--- a/sys-firmware/edk2-bin/Manifest
+++ b/sys-firmware/edk2-bin/Manifest
@@ -7,4 +7,4 @@ DIST edk2-ovmf-202202-1.xpak 2672386 BLAKE2B 75c15d4379610ab2af85b78166e350d52f4
EBUILD edk2-bin-202202.ebuild 2166 BLAKE2B f20fc57618542d7a95fb40cba6de904cec6841b68606ce170a8bf360cfea45f7201e83d4b21559f4379302397fd14cc8fa90b30f8977967eb2b67b26d0ebd9ee SHA512 2173dfe2d3948786e85fa4ee3ea49be64a29f21e188b71d2e10ace8626bb5d3cf12534184c548104ab1e68f875c4933279209a04ca3f734af2bc801321789ea8
EBUILD edk2-bin-202408.ebuild 1819 BLAKE2B 8480d18185655bd7d80bc5c7c45a684b522b549925b55eb2c732c2c520600f5cb898efb6e382f3857ca4cdcfa09916fafecbec283cbe203b5bac40fdff32c985 SHA512 867fd2849f0a249abb7b4fdb2430a767d7f6b237672737a5e3d20931206c821e66348a972c629714562d71df5200f3ebac077af7ae0c96d30170076dce1ba062
EBUILD edk2-bin-202411.ebuild 1825 BLAKE2B 5a83194705bbc9334569ef1cca3597ef4446ffdc655b0fb877ebd7c9b50295496bb9a8dae78b64e469dc628b61d953032f53365bd9e1b9b904a332694b9822ac SHA512 4996764844cb57b7591a66a94b1b3f70a1062a19288218bce46cd1e257636135bc1af19e5851bb7960ebc05847c396d8843c439a414e48a96173831965757875
-MISC metadata.xml 355 BLAKE2B e88a696d5268856289ed36d6ac864d8b13e2460dc76b7593934a114fd8ca913d92eda660ba116f9d8b3f75e3ab4a8790a421def1a3fb62a3cbf9448f7328ef8d SHA512 c93298fe9106bab617a35dfca405d5307b8588becd7d0b487a0acce60fd3e2f6fd006b38c227378baa6ee751f75c531bce41be92d27642edb41e6c33473810e2
+MISC metadata.xml 465 BLAKE2B c09728a1874c02bc74243592fa0cae4f5ac238b71034212b221fe35dce5d619505e32d19a8d73e941025462c62672b22650c4ce7068e1f74db2b07bedb6884b5 SHA512 3fa42b6e17b6f27d67f64be81d5232f38ed1a1b9175f951e7eb5ce285801fcadabf95b079b84825b1adfad88da8bd177b13149827aca15ccd56a450d8202f929
diff --git a/sys-firmware/edk2-bin/metadata.xml b/sys-firmware/edk2-bin/metadata.xml
index 674a9e5d13d6..aca18aaa2c8c 100644
--- a/sys-firmware/edk2-bin/metadata.xml
+++ b/sys-firmware/edk2-bin/metadata.xml
@@ -5,6 +5,10 @@
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
</maintainer>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:tianocore:edk2</remote-id>
</upstream>
diff --git a/sys-firmware/edk2/Manifest b/sys-firmware/edk2/Manifest
index 77bec5ac4fca..f3b8ef6d8379 100644
--- a/sys-firmware/edk2/Manifest
+++ b/sys-firmware/edk2/Manifest
@@ -5,7 +5,7 @@ AUX descriptors/40-edk2-aarch64-qcow2-sb.json 728 BLAKE2B be4c06aa2ad5be54bd0cf3
AUX descriptors/40-edk2-ovmf-4m-qcow2-x64-sb.json 763 BLAKE2B 21fdf8998e9d7da60039e6c525051d3eb28f6b6f9791bd0489b6aae49a3bf178a54509bd25cab4c22bc96a058768f88260e9df4061f9f92ac29ac34608f6b08f SHA512 5276eabee164f64e6ad0b873fc3cd420da2c8a684018e546b988b863eb4c0385781cd9c2071f8e75248ff7f78a212948449a069de67d48405cffd9b6df442d1a
AUX descriptors/41-edk2-ovmf-2m-raw-x64-sb.json 747 BLAKE2B 7872e2d81d8e6584bc73e8c53316df2a70e9e083f0d56a557d3eda6faad0aa76478be768df760d1eb898f41f8091b4f2c1a98164a25f5d09f2b9f3cac739a655 SHA512 0cf7f2124781d3874e2f94039cf06661c94b2a5d7000a0b2785f67dbd56677541cf425c5321f1e3630fe5ad6868682e4254038d126cf30e85411b84921224962
AUX descriptors/50-edk2-aarch64-qcow2-nosb.json 682 BLAKE2B 9cd6742f66ee7dd7f13d910adb59ce746ffe35d0324a757f9eeb94d86c2d6ee62b59ef5df3a007561c51e6c2309a917ec579539dd2d89fb8add606973e4146e5 SHA512 c95ce6e5e4f086a649f92baa928409cb023489c0df74c5a7fedb7e6f6e832b3cb321c8245f4a0885d7f1deba0c46ebde202326ed465fd10dc6d2041a4943b827
-AUX descriptors/50-edk2-loongarch64-qcow2-nosb.json 672 BLAKE2B b86405988e6120a821f8d48d2596fcb0dc1ff6f93721833cc837052c43b18f7918ecec216cfb6d82e2821e01c557652f39c28777f25e8314ef910fa345ddf02d SHA512 722f5cfa3fe65de52aa7d919243d2dfa16ee0fdd22be4d553883d81cbebf0942e42af1f42957bfd5911be6e4e7df848872f765e7e6c96218c763b6026a7ec352
+AUX descriptors/50-edk2-loongarch64-qcow2-nosb.json 682 BLAKE2B 053ba2ad0a260907aac7f650cfeedb125fb05b3d24a03cc3b94c0a13e4cfb759bad7125a7609edf41341f6fabb58bce96b6b77d0b7268c23339cd08f92be74f8 SHA512 4a624007c55fe24d8aa8f093d99a4e1d2f38f177c48c65c2291d862c3962c924354d8946ad2e793bdfcf07fe49f6df469a77ad81da179a31e1f18fa3ee603f0f
AUX descriptors/50-edk2-ovmf-4m-qcow2-x64-nosb.json 783 BLAKE2B ac38aa9b1f7c0d039ebb28dcaaec737db95f7a1de147c6617c1544a30a6d2b3772af9c0e14a6d967bc77c5923ee337c910a2a3cf81b4ca6f1b45d34ad022faef SHA512 371514d13eee58acab6330aaa213558849b7437c34b2fc21d4d7b1fb4e9b7c650f9b99ec2f416be19c4875358c58b5097c2681dc18416b019454c5d0520e48bc
AUX descriptors/50-edk2-riscv64-qcow2-nosb.json 680 BLAKE2B e62e9df12dabaf8abed33f67ec8c1ea6b0d7abd581f7c954db6da5565f6d44a92264a781c606667b473cae7e64d161d1b0f7b9773c97912e60677bfa23072bca SHA512 f4340d80df1f36a217872604762356425c7284fcc0e9ae65697fa3be7d8bce8e706c2387b6eae2c1b992af5b185aaec11eae1bdac802642c33a116f559a9fad5
AUX descriptors/51-edk2-ovmf-2m-raw-x64-nosb.json 767 BLAKE2B b2604ec54c60f05ccc33cd9a10956f394d4da428abba2fb39209d38d8efc06840c6dc57922e28143e61bc01298f9281362d5cba342cfe49dfb4993f012dd554b SHA512 df4e03dc266c3e1806b495b4f7d0e4718c4881fc7a3c6edd83aaab66fbd329b5dfa52c8dc3698064a23369ec39864b7f50878b38ae5de8a8bf02447144638d10
@@ -21,17 +21,21 @@ DIST arm64_DBXUpdate_05092023.bin 4610 BLAKE2B 4c6628e5c297a26ca5a1235e377a794fd
DIST brotli-f4153a09f87cbb9c826d8fc12c74642bb2d879ea.tar.gz 512229 BLAKE2B cd86cc2cc7eefad24f87cda8006409bf764922b5f23ccfb951e7a41214b12004ce532b11f94f5fb858b3bf71f9abf8ef17ba219fa96bd5be23b51873afad0fd5 SHA512 7f48e794e738b31c2005e7cef6d8c0cc0d543f1cd8c137ae8ba14602cac2873de6299a3f32ad52be869f513e7548341353ed049609daef1063975694d9a9b80b
DIST edk2-202408.tar.gz 17548980 BLAKE2B 12723a593d2767577f74cfa69f4a02ec784347994af6eb77aea7eb9e9e9f7fedb6b47698af2f07ef98848bbb4bf16248179cf117cf9abdf17be73157a0a03fc2 SHA512 d679d905f8b0ddbf60b1c9a0282e403bf51d0fbe55d85a8ea3e4af1778874e947d224e3671f9e82cddd5cd906c1472ff3973498d969414bdd67d0b49f5b8a251
DIST edk2-202411.tar.gz 17669304 BLAKE2B 2aa1d5c5d7b99a1abccf0c8b0b04a74006319a269ec03814ab9a28d38299f7d00f57d457c4e011067ad8dfc816430372ab02130ec138b148999662764a411483 SHA512 633483a1ff915f6e5f5a6d3c329f517d6c070368855f1d5348a80e22e71ac13ff4c6774c8620482a4e5cefe03907edc3a904ae405cbfe2dcd025ddd82f039eaf
+DIST edk2-202502.tar.gz 18217115 BLAKE2B a72fd05398b32377f6a0b80fa2c3c84ed4f53039174f8e814dc6c57617d21a3c99603d5c572a372295399658a42e3ff1ab642f8cbaa8782301268344443f6502 SHA512 1421b3e14acf6aa51c84cf0a12716990f08815fff631f4657bb9907fd8d620e9fac7794e05c2eed54d5f8966f8e9267d32bf2256237a959bd727629163b8c00d
DIST edk2-ovmf-202202-qemu-firmware.tar.xz 664 BLAKE2B 1aa4e25804ce0f3c967c80999315de24eaef6682e42dddd81c274ce4603ec3d15186de752de49e2527c6bd5517080c002a357ed6bc389b5afd6f7a4d93edeb44 SHA512 f9a29212274a99796784673d873e0eee7d3e2a5cf9e63192453841ee3a4ef4b813c7b2357fc7000f39c71ed6c66636daab772abb51d3972a2a56ade8a4c68faf
DIST edk2-ovmf-202202.tar.gz 14208170 BLAKE2B d8411e6808b335ccd551349a10c983b9448a357e73273fa6c30a07785e27feffed0224950ee98b668712c33f6739a9b006e5043b7dfd014f48dba9fd449b3354 SHA512 200690a4867331de06e0478869b85577bc510213ebe679f2103160efb84d94c82ac8481ef1f15c3e42c1e9f22b7c5ef0d6c8f2c655bce7702ce843551cf9bb83
DIST libspdm-50924a4c8145fc721e17208f55814d2b38766fe6.tar.gz 1967479 BLAKE2B fe15ac34fa65a86b13ed3a44959d860dc1bf39fd9a4bd2dcde2d2ec6ad9490f5d7d53320c481f9cf931a636527719c29eb315d178f2bd48cb905216849b633b4 SHA512 f11e748e40b66c37365175ff0ef9c0a695db2e7da50da2cf8a33267064b53e5938cfb1363d27e5ce0a174b2059533352bb8a44c48003db900c6b844167473198
+DIST libspdm-98ef964e1e9a0c39c7efb67143d3a13a819432e0.tar.gz 2017163 BLAKE2B 312528eb0af2cffb4d3557354ada87302b471a4c1cc73bad74a60162cdbb057be392fd57f18bef99a437ccb879583c69afb2596bf120656787b4b6530005316d SHA512 366155f146f47f7fe81c2b7863c3dff6339dd017b3d8ebe2e843ee04fedb6911193248cea2d048547a4389b4727c1576d5b6c1f26bbe83362299b52d72527f52
DIST mbedtls-8c89224991adff88d53cd380f42a2baa36f91454.tar.gz 4587796 BLAKE2B c28df5c52ac3ed5ef6a2b9eba29f3894d3f5f11083869e8b137cd66d4f72b2a0971c91636ce4626869bd06eeb5e661d90160021f92564b9449fb13001b8e379f SHA512 a421c03c740867210f9e30457bc951928cafec3622e1e304f8c18ce5c5e27c5c8e6c7715180ecb74c6a997e4b91ee160e52b357e1bb65ff76ce8414a87ec4889
DIST mipi-sys-t-370b5944c046bab043dd8b133727b2135af7747a.tar.gz 378522 BLAKE2B d3f1033e78ad814ebb991e66d8c1437aa3583e91481af9785b97b6021c7c45fb9dcb8d2d58d0a0fe84fbd9f108d24a27234df298eb8a2ba2340e5c9c85c89c40 SHA512 de6888577ceab7ab6915d792f3c48248cfa53357ccd310fc7f7eae4d25a932de8c7c23e5b898c9ebf61cf86cb538277273f2eb131a628b3bf0d46c9a3b9b6686
DIST openssl-3.0.15.tar.gz 15318633 BLAKE2B f2900d0894b97e86c709079ca4336d5dc508d69e91d3a4de4420c8d9344cb54dada6ea2cdd408166e53db0c652b06654e670701166b67a0a40578676e1cea535 SHA512 acd80f2f7924d90c1416946a5c61eff461926ad60f4821bb6b08845ea18f8452fd5e88a2c2c5bd0d7590a792cb8341a3f3be042fd0a5b6c9c1b84a497c347bbf
+DIST openssl-3.4.1.tar.gz 18346056 BLAKE2B 328a2a4f0536b15ffe6421afc99bdb5dcdf3d29f44437fdd80bbf4089f5f2658ca10907e033eda2e04c6b862e49b150ea59d8ab1807d14a3dcf64e10c32e78af SHA512 1de6307c587686711f05d1e96731c43526fa3af51e4cd94c06c880954b67f6eb4c7db3177f0ea5937d41bc1f8cadcf5bce75025b5c1a46a469376960f1001c5f
DIST openssl-d82e959e621a3d597f1e0d50ff8c2d8b96915fd7.tar.gz 10034310 BLAKE2B 6996979dc12a523d565830e7b0943feb682a376f71ddb6f20cb8b9976bb7f12e39f088abaa45d514933ef79c0e4a2933dc6f1af4774fedaa16e74c0081c358e7 SHA512 a89bc652dc4318c5e8a9c594a43d890ca05dfc1acd6b15e2a8ab8b5628b5f33994143ff8024230e07b9e67556b28ea3a5e36763aa72dec20b52022ca8c6f2a7e
DIST openssl-de90e54bbe82e5be4fb9608b6f5c308bb837d355.tar.gz 15337569 BLAKE2B bb0b2f4ee7838178e8e23317b6c63048611d805e20c81d6c875d9b515e6dbcf981cda38f031965c9ec45bcab3ac4725cfa793718b0212e92bf53b4c7fc3f4e32 SHA512 4bba15075dacc8c1772a95759cfe8620ff3a9d535e5d3d29bb15e4790cc543555ab45f0b239195361e534eca26249ae1b491b63cbf6b7ecda6f0840c7f6253ac
DIST pylibfdt-cfff805481bdea27f900c32698171286542b8d3c.tar.gz 49659 BLAKE2B 05e954fc2d72618b3f56c08bdfcd64479259902ee2613d034b66ebe50e33b02b243bed1191d8dcdcea9fcb2553f84a737ae12514d30c48e776efc858a4879894 SHA512 c2f4cbda24bc4a2140135de2db19fd7ad0b6eff2a748862b4166bf0e65f3e324e2855ea4331dafa2c82f44b4d01309c8ac50159cbcc076a968a1169c8709a523
DIST x64_DBXUpdate_05092023.bin 21170 BLAKE2B 9b74945ef441e65c50116122bc24578c22c8f5f7af94e46322a96bd15035b79c0af4c1fd5366017b347b9aaf3f5791b9d6ea84ef141500700ccf69f708f91389 SHA512 71fb6e8cd6918126b3acd78b95651913336df372e13fdfdfdd20d5d23f0e509050c6c88c8a2c43f8ac44f987df86bd45174bb3065d5a7a8c7e3b8772fd06d624
EBUILD edk2-202202.ebuild 4795 BLAKE2B 5d11f5d6372536904f81e425e156cd2b3c3f079b177cab26320bbee6a5951457feda66d0292bd9bbe4a55be7ff11483424e084f31389fd6ce0f9b409fe2477e2 SHA512 e35eb3bedbfcab220f93d3ecce9197ee56f31e71a75442c83189d1c2a47b88171b83bbcb2624b83b04e409498d596ccae3f1371a80e4d38c73c282e62b0ed52a
EBUILD edk2-202408.ebuild 9260 BLAKE2B 31ce890ce07df7955249dfda32370a1a7db0eee0f6022195face02f23fe930cf6ecf79706e978c46efb61488bdc252a7eba1fe6b3b766e26587122fba5f28fbc SHA512 9f2a94a26db3eaed1b6215712c8164ba2116e0198c3dfccda8145cf7cc3c5499a6ef63df1cbd4723edd9722695dfbd01c88a1a0e71b7372281c2aef2872e779a
-EBUILD edk2-202411.ebuild 10293 BLAKE2B 2499eac7f42b672b6025f4263abed257439061410035db73cba2727e15e9e7b6e72539af674471497a7ce6921ab77b5baa338eac9973a3764362bbfb79bb657b SHA512 3be4327e71ce7ec740aa4296b887e7fc9ba18de8a9c3e92a449fe0b78f6df4cbe684e02c03584b2473d94b762edd7322eef12d41ed617aa7aed465797588a61d
-MISC metadata.xml 401 BLAKE2B c64a51cd2895610b485f6a9922d27f8894cc20ddace93df39719a39160dda48af9202f52b624465785ac64c751bec6b1612ebad19395aaa31d2c112e3c5f6115 SHA512 a07b485f9c92dc368d2fd62783c323ec03620cebce5146762d12df66eccf515b1f0f6a3d266642135668e3109e0d4b3c888629e8e487d5dbf5fb60ddeab28599
+EBUILD edk2-202411.ebuild 10280 BLAKE2B 79508eb171225f061f892b495239c8468f7ae4d6663ea0519fc61e6c409e01f81e17838df56d79408ff75afda9387fa3b5dacfe6822e76c8019eb9fc9e935341 SHA512 8025510aea7632f91c27d2a43b8fdfa2cc808498fa7a0d849050847e433184d02c0e8dd36f5a2dd299e0bcd67684f2b49c63833d4f345bdacbf387b11248e0ce
+EBUILD edk2-202502.ebuild 10136 BLAKE2B 211586c0aea796ae6abdfdb4dc063512844431812b8b11302090987f393c955ea53862a4984d9948c8e95220bcab9c36911b4d6e843dc5d1d5824513462026ae SHA512 b828ba62f3a00918f08d38087a70b1296841a0767ff8dcba3f1f4e22abf2a9b8e4b1eeb86ff768abde111f732d00bf1b298e3b3f2d2a2554d00c0bda5a831dad
+MISC metadata.xml 519 BLAKE2B 728d00f24f8927d97ddcda3c79e23dd7184f719bf894c007c0624aa6754ca8212dcaa5f5008b59966762f364715fd3eb124c8c0a4fe34d23838deb97498c8d0d SHA512 bc55e93d791c3c6b5307b2427de416697612cc3bb61e44e3cf3052f4a04d8b8791feb23cfff1299c0d814d23807a8853711ab663c2ede18d4aeedf604719a7c2
diff --git a/sys-firmware/edk2/edk2-202411.ebuild b/sys-firmware/edk2/edk2-202411.ebuild
index a998704605eb..6f24731cf49a 100644
--- a/sys-firmware/edk2/edk2-202411.ebuild
+++ b/sys-firmware/edk2/edk2-202411.ebuild
@@ -6,7 +6,7 @@ EAPI=8
PYTHON_REQ_USE="sqlite"
PYTHON_COMPAT=( python3_{12..13} )
-inherit edo flag-o-matic prefix python-any-r1 readme.gentoo-r1 secureboot toolchain-funcs
+inherit edo prefix python-any-r1 readme.gentoo-r1 secureboot toolchain-funcs
DESCRIPTION="TianoCore EDK II UEFI firmware for virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
diff --git a/sys-firmware/edk2/edk2-202502.ebuild b/sys-firmware/edk2/edk2-202502.ebuild
new file mode 100644
index 000000000000..39cab3d3af2c
--- /dev/null
+++ b/sys-firmware/edk2/edk2-202502.ebuild
@@ -0,0 +1,340 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_REQ_USE="sqlite"
+PYTHON_COMPAT=( python3_{12..13} python3_13t )
+
+inherit edo prefix python-any-r1 readme.gentoo-r1 secureboot toolchain-funcs
+
+DESCRIPTION="TianoCore EDK II UEFI firmware for virtual machines"
+HOMEPAGE="https://github.com/tianocore/edk2"
+
+DBXDATE="05092023" # MMDDYYYY
+BUNDLED_BROTLI_SUBMODULE_SHA="f4153a09f87cbb9c826d8fc12c74642bb2d879ea"
+BUNDLED_LIBFDT_SUBMODULE_SHA="cfff805481bdea27f900c32698171286542b8d3c"
+BUNDLED_LIBSPDM_SUBMODULE_SHA="98ef964e1e9a0c39c7efb67143d3a13a819432e0"
+BUNDLED_MBEDTLS_SUBMODULE_SHA="8c89224991adff88d53cd380f42a2baa36f91454"
+BUNDLED_MIPI_SYS_T_SUBMODULE_SHA="370b5944c046bab043dd8b133727b2135af7747a"
+BUNDLED_OPENSSL_SUBMODULE_P="openssl-3.4.1"
+
+SRC_URI="
+ https://github.com/tianocore/${PN}/archive/${PN}-stable${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/google/brotli/archive/${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz
+ -> brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz
+ https://github.com/DMTF/libspdm/archive/${BUNDLED_LIBSPDM_SUBMODULE_SHA}.tar.gz
+ -> libspdm-${BUNDLED_LIBSPDM_SUBMODULE_SHA}.tar.gz
+ https://github.com/Mbed-TLS/mbedtls/archive/${BUNDLED_MBEDTLS_SUBMODULE_SHA}.tar.gz
+ -> mbedtls-${BUNDLED_MBEDTLS_SUBMODULE_SHA}.tar.gz
+ https://github.com/MIPI-Alliance/public-mipi-sys-t/archive/${BUNDLED_MIPI_SYS_T_SUBMODULE_SHA}.tar.gz
+ -> mipi-sys-t-${BUNDLED_MIPI_SYS_T_SUBMODULE_SHA}.tar.gz
+ https://github.com/openssl/openssl/releases/download/${BUNDLED_OPENSSL_SUBMODULE_P}/${BUNDLED_OPENSSL_SUBMODULE_P}.tar.gz
+
+ amd64? (
+ https://uefi.org/sites/default/files/resources/x64_DBXUpdate_${DBXDATE}.bin
+ https://uefi.org/sites/default/files/resources/x64_DBXUpdate.bin -> x64_DBXUpdate_${DBXDATE}.bin
+ )
+
+ arm64? (
+ https://uefi.org/sites/default/files/resources/arm64_DBXUpdate_${DBXDATE}.bin
+ https://uefi.org/sites/default/files/resources/arm64_DBXUpdate.bin -> arm64_DBXUpdate_${DBXDATE}.bin
+ https://github.com/devicetree-org/pylibfdt/archive/${BUNDLED_LIBFDT_SUBMODULE_SHA}.tar.gz
+ -> pylibfdt-${BUNDLED_LIBFDT_SUBMODULE_SHA}.tar.gz
+ )
+"
+
+S="${WORKDIR}/${PN}-${PN}-stable${PV}"
+LICENSE="BSD-2 MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm64 ~loong ~riscv"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-emulation/qemu
+ app-emulation/virt-firmware
+ >=sys-power/iasl-20160729
+ amd64? ( >=dev-lang/nasm-2.0.7 )
+"
+
+RDEPEND="
+ !sys-firmware/edk2-bin
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-202411-werror.patch"
+ "${FILESDIR}/${PN}-202408-binutils-2.41-textrels.patch"
+)
+
+DISABLE_AUTOFORMATTING="true"
+DIR="/usr/share/${PN}"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ secureboot_pkg_setup
+
+ local QEMU_ARCH ARCH_DIRS UNIT0 UNIT1 FMT
+
+ case "${ARCH}" in
+ amd64)
+ TARGET_ARCH="X64"
+ QEMU_ARCH="x86_64"
+ ARCH_DIRS="${DIR}/OvmfX64"
+ UNIT0="OVMF_CODE.fd"
+ UNIT1="OVMF_VARS.fd"
+ FMT="raw"
+ ;;
+ arm64)
+ TARGET_ARCH="AARCH64"
+ QEMU_ARCH="aarch64"
+ ARCH_DIRS="${DIR}/ArmVirtQemu-AARCH64"
+ UNIT0="QEMU_EFI.qcow2"
+ UNIT1="QEMU_VARS.qcow2"
+ FMT="qcow2"
+ ;;
+ loong)
+ TARGET_ARCH="LOONGARCH64"
+ QEMU_ARCH="loongarch64"
+ ARCH_DIRS="${DIR}/LoongArchVirtQemu"
+ UNIT0="QEMU_EFI.qcow2"
+ UNIT1="QEMU_VARS.qcow2"
+ FMT="qcow2"
+ ;;
+ riscv)
+ TARGET_ARCH="RISCV64"
+ QEMU_ARCH="riscv64"
+ ARCH_DIRS="${DIR}/RiscVVirtQemu"
+ UNIT0="RISCV_VIRT_CODE.qcow2"
+ UNIT1="RISCV_VIRT_VARS.qcow2"
+ FMT="qcow2"
+ ;;
+ esac
+
+ DOC_CONTENTS="This package includes the TianoCore EDK II UEFI firmware for ${QEMU_ARCH}
+virtual machines. The firmware is located under ${ARCH_DIRS}.
+
+In order to use the firmware, you can run QEMU like so:
+
+ $ qemu-system-${QEMU_ARCH} \\
+ -drive file=${EPREFIX}${ARCH_DIRS%% *}/${UNIT0},if=pflash,format=${FMT},unit=0,readonly=on \\
+ -drive file=/path/to/the/copy/of/${UNIT1},if=pflash,format=${FMT},unit=1 \\
+ ..."
+
+ case "${ARCH}" in
+ amd64) DOC_CONTENTS+="
+
+The firmware does not support CSM due to the lack of a free
+implementation. If you need a firmware with CSM support, you have to
+download one for yourself. Firmware blobs are commonly labelled:
+
+ OVMF_CODE-with-csm.fd
+ OVMF_VARS-with-csm.fd"
+ ;;
+ arm64) DOC_CONTENTS+="
+
+WARNING! QEMU_EFI.secboot_INSECURE.qcow2 does have Secure Boot
+enabled, but it must not be used in production. The lack of an SMM
+implementation for arm64 in this firmware means that the EFI
+variable store is unprotected, making the firmware unsafe."
+ ;;
+ esac
+}
+
+link_mod() {
+ rmdir "$2" && ln -sfT "$1" "$2" || die "linking ${2##*/} failed"
+}
+
+src_prepare() {
+ # Bundled submodules
+ link_mod "${WORKDIR}/brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}" \
+ BaseTools/Source/C/BrotliCompress/brotli
+ link_mod "${WORKDIR}/brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}" \
+ MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
+ link_mod "${WORKDIR}/libspdm-${BUNDLED_LIBSPDM_SUBMODULE_SHA}" \
+ SecurityPkg/DeviceSecurity/SpdmLib/libspdm
+ link_mod "${WORKDIR}/mbedtls-${BUNDLED_MBEDTLS_SUBMODULE_SHA}" \
+ CryptoPkg/Library/MbedTlsLib/mbedtls
+ link_mod "${WORKDIR}/public-mipi-sys-t-${BUNDLED_MIPI_SYS_T_SUBMODULE_SHA}" \
+ MdePkg/Library/MipiSysTLib/mipisyst
+ link_mod "${WORKDIR}/${BUNDLED_OPENSSL_SUBMODULE_P}" \
+ CryptoPkg/Library/OpensslLib/openssl
+
+ use arm64 &&
+ link_mod "${WORKDIR}/pylibfdt-${BUNDLED_LIBFDT_SUBMODULE_SHA}" \
+ MdePkg/Library/BaseFdtLib/libfdt
+
+ default
+
+ # Fix descriptor paths for prefix.
+ hprefixify "${FILESDIR}"/descriptors/*.json
+}
+
+mybuild() {
+ edo build \
+ -t "${TOOLCHAIN}" \
+ -b "${BUILD_TARGET}" \
+ -D NETWORK_HTTP_BOOT_ENABLE \
+ -D NETWORK_IP6_ENABLE \
+ -D NETWORK_TLS_ENABLE \
+ -D TPM1_ENABLE \
+ -D TPM2_ENABLE \
+ -D TPM2_CONFIG_ENABLE \
+ "${BUILD_ARGS[@]}" \
+ "${@}"
+}
+
+# Add the MS and Red Hat Secure Boot certificates and update the revocation list
+# for the given architecture in the given raw variables image.
+mk_fw_vars() {
+ edo virt-fw-vars \
+ --set-dbx "${DISTDIR}/$1_DBXUpdate_${DBXDATE}.bin" \
+ --secure-boot --enroll-redhat --inplace "$2"
+}
+
+# Convert the given images from raw to QCOW2 and resize them to the amount given
+# as the first argument. Specify 0 to not resize.
+raw_to_qcow2() {
+ local SIZE=$1 RAW
+ shift
+
+ for RAW in "${@}"; do
+ edo qemu-img convert -f raw -O qcow2 -o cluster_size=4096 -S 4096 "${RAW}" "${RAW%.fd}.qcow2"
+ [[ ${SIZE} != 0 ]] && edo qemu-img resize -f qcow2 "${RAW%.fd}.qcow2" "${SIZE}"
+ rm "${RAW}" || die
+ done
+}
+
+src_compile() {
+ TOOLCHAIN="GCC5"
+ BUILD_TARGET="RELEASE"
+ BUILD_DIR="${BUILD_TARGET}_${TOOLCHAIN}"
+ BUILD_ARGS=()
+
+ tc-export_build_env
+ emake -C BaseTools \
+ CC="$(tc-getBUILD_CC)" \
+ CXX="$(tc-getBUILD_CXX)" \
+ EXTRA_OPTFLAGS="${BUILD_CFLAGS}" \
+ EXTRA_LDFLAGS="${BUILD_LDFLAGS}"
+
+ export \
+ "${TOOLCHAIN}_${TARGET_ARCH}_PREFIX=${CHOST}-" \
+ "${TOOLCHAIN}_BIN=${CHOST}-"
+
+ . ./edksetup.sh
+
+ # DO NOT enable the shell with Secure Boot as it can be used as a bypass!
+
+ case "${ARCH}" in
+ amd64)
+ local SIZE
+ for SIZE in _2M _4M; do
+ mybuild -a X64 -p OvmfPkg/OvmfPkgX64.dsc \
+ -D FD_SIZE${SIZE}B \
+ -D BUILD_SHELL=FALSE \
+ -D SECURE_BOOT_ENABLE \
+ -D SMM_REQUIRE
+
+ mv -T Build/OvmfX64 Build/OvmfX64${SIZE}.secboot || die
+
+ mybuild -a X64 -p OvmfPkg/OvmfPkgX64.dsc \
+ -D FD_SIZE${SIZE}B
+
+ mv -T Build/OvmfX64 Build/OvmfX64${SIZE} || die
+
+ mk_fw_vars x64 Build/OvmfX64${SIZE}.secboot/"${BUILD_DIR}"/FV/OVMF_VARS.fd
+ done
+
+ # Fedora only converts newer images to QCOW2. 2MB images are raw.
+ raw_to_qcow2 0 Build/OvmfX64_4M*/"${BUILD_DIR}"/FV/OVMF_{CODE,VARS}.fd
+ ;;
+ arm64)
+ BUILD_ARGS+=(
+ # grub.efi uses EfiLoaderData for code
+ --pcd PcdDxeNxMemoryProtectionPolicy=0xC000000000007FD1
+ # shim.efi has broken MemAttr code
+ --pcd PcdUninstallMemAttrProtocol=TRUE
+ )
+
+ mybuild -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc \
+ -D BUILD_SHELL=FALSE \
+ -D SECURE_BOOT_ENABLE
+
+ mv -T Build/ArmVirtQemu-AARCH64 Build/ArmVirtQemu-AARCH64.secboot_INSECURE || die
+
+ mybuild -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc
+
+ mk_fw_vars arm64 Build/ArmVirtQemu-AARCH64.secboot_INSECURE/"${BUILD_DIR}"/FV/QEMU_VARS.fd
+ raw_to_qcow2 64m Build/ArmVirtQemu-AARCH64*/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.fd
+ ;;
+ loong)
+ mybuild -a LOONGARCH64 -p OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
+ raw_to_qcow2 0 Build/LoongArchVirtQemu/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.fd
+ ;;
+ riscv)
+ mybuild -a RISCV64 -p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc
+ raw_to_qcow2 32m Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.fd
+ ;;
+ esac
+}
+
+src_install() {
+ local SIZE TYPE FMT
+
+ case "${ARCH}" in
+ amd64)
+ insinto ${DIR}/OvmfX64
+ doins Build/OvmfX64_2M/"${BUILD_DIR}"/X64/Shell.efi
+
+ for SIZE in _2M _4M; do
+ for TYPE in "" .secboot; do
+ [[ ${SIZE} = _4M ]] && FMT=qcow2 || FMT=fd
+ newins Build/OvmfX64${SIZE}${TYPE}/"${BUILD_DIR}"/FV/OVMF_CODE.${FMT} OVMF_CODE${SIZE#_2M}${TYPE}.${FMT}
+ newins Build/OvmfX64${SIZE}${TYPE}/"${BUILD_DIR}"/FV/OVMF_VARS.${FMT} OVMF_VARS${SIZE#_2M}${TYPE}.${FMT}
+ done
+ done
+
+ # Compatibility with older package versions.
+ dosym ${PN}/OvmfX64 /usr/share/edk2-ovmf
+ ;;
+ arm64)
+ insinto ${DIR}/ArmVirtQemu-AARCH64
+
+ for TYPE in "" .secboot_INSECURE; do
+ newins Build/ArmVirtQemu-AARCH64${TYPE}/"${BUILD_DIR}"/FV/QEMU_EFI.qcow2 QEMU_EFI${TYPE}.qcow2
+ newins Build/ArmVirtQemu-AARCH64${TYPE}/"${BUILD_DIR}"/FV/QEMU_VARS.qcow2 QEMU_VARS${TYPE}.qcow2
+ done
+ ;;
+ loong)
+ insinto ${DIR}/LoongArchVirtQemu
+ doins Build/LoongArchVirtQemu/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.qcow2
+ ;;
+ riscv)
+ insinto ${DIR}/RiscVVirtQemu
+ doins Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.qcow2
+ ;;
+ esac
+
+ insinto /usr/share/qemu/firmware
+ doins "${FILESDIR}"/descriptors/*"${TARGET_ARCH,,}"*.json
+
+ secureboot_auto_sign --in-place
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ local OLD=${EROOT}/usr/share/edk2-ovmf NEW=${EROOT}/${DIR}/OvmfX64
+ if [[ -d ${OLD} && ! -L ${OLD} ]]; then
+ {
+ rm -vf "${OLD}"/{OVMF_{CODE,CODE.secboot,VARS}.fd,EnrollDefaultKeys.efi,Shell.efi,UefiShell.img} &&
+ mkdir -p "${NEW}" &&
+ find "${OLD}" -mindepth 1 -maxdepth 1 -execdir mv --update=none-fail -vt "${NEW}"/ {} + &&
+ rmdir "${OLD}"
+ } || die "unable to replace old directory with compatibility symlink"
+ fi
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json b/sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json
index 54c07649b6a1..706ddd2f0578 100644
--- a/sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json
+++ b/sys-firmware/edk2/files/descriptors/50-edk2-loongarch64-qcow2-nosb.json
@@ -7,12 +7,12 @@
"device": "flash",
"mode" : "split",
"executable": {
- "filename": "/usr/share/edk2/LoongArchVirtQemu/QEMU_EFI.fd",
- "format": "raw"
+ "filename": "/usr/share/edk2/LoongArchVirtQemu/QEMU_EFI.qcow2",
+ "format": "qcow2"
},
"nvram-template": {
- "filename": "/usr/share/edk2/LoongArchVirtQemu/QEMU_VARS.fd",
- "format": "raw"
+ "filename": "/usr/share/edk2/LoongArchVirtQemu/QEMU_VARS.qcow2",
+ "format": "qcow2"
}
},
"targets": [
diff --git a/sys-firmware/edk2/metadata.xml b/sys-firmware/edk2/metadata.xml
index 25727c4c2437..d159584fa220 100644
--- a/sys-firmware/edk2/metadata.xml
+++ b/sys-firmware/edk2/metadata.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
-</maintainer>
-<upstream>
- <remote-id type="github">tianocore/edk2</remote-id>
- <remote-id type="cpe">cpe:/a:tianocore:edk2</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tianocore/edk2</remote-id>
+ <remote-id type="cpe">cpe:/a:tianocore:edk2</remote-id>
+ </upstream>
</pkgmetadata>