mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-07 04:44:57 +02:00
These files can't actually be executed so it would be better to remove the executable bit. The arch package doesn't set the executable bit on these files too so this shouldn't cause problems. https://gitlab.archlinux.org/archlinux/packaging/packages/edk2/-/blob/main/PKGBUILD
187 lines
6.5 KiB
Text
187 lines
6.5 KiB
Text
# Contributor: Timo Teräs <timo.teras@iki.fi>
|
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
|
|
pkgname=edk2
|
|
pkgver=0.0.202308
|
|
_realver=edk2-stable${pkgver##*.}
|
|
_sslver=3.0.9
|
|
_sfver=3e
|
|
pkgrel=2
|
|
pkgdesc="EFI Development Kit II"
|
|
url="https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"
|
|
arch="x86_64 aarch64"
|
|
license="BSD-2-Clause-Patent"
|
|
makedepends="bash python3 iasl nasm util-linux-dev util-linux-misc"
|
|
options="!archcheck !check" # has no checks
|
|
subpackages="$pkgname-pyc $pkgname-shell:_shell"
|
|
_mipisyst_commit=370b5944c046bab043dd8b133727b2135af7747a
|
|
source="$pkgname-$pkgver.tar.gz::https://github.com/tianocore/edk2/archive/$_realver.tar.gz
|
|
mipisyst-$_mipisyst_commit.tar.gz::https://github.com/MIPI-Alliance/public-mipi-sys-t/archive/$_mipisyst_commit.tar.gz
|
|
https://www.openssl.org/source/openssl-$_sslver.tar.gz
|
|
http://www.jhauser.us/arithmetic/SoftFloat-$_sfver.zip
|
|
build-hack.patch
|
|
0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch
|
|
0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch
|
|
"
|
|
builddir="$srcdir/$pkgname-$_realver"
|
|
|
|
PLATFORM="ShellPkg/ShellPkg.dsc"
|
|
case "$CARCH" in
|
|
x86)
|
|
TARGET_ARCH=IA32
|
|
PLATFORM="$PLATFORM OvmfPkg/OvmfPkgIa32X64.dsc"
|
|
;;
|
|
x86_64)
|
|
TARGET_ARCH=X64
|
|
PLATFORM="$PLATFORM OvmfPkg/OvmfPkgX64.dsc OvmfPkg/OvmfXen.dsc"
|
|
subpackages="$subpackages ovmf:_ovmf:noarch ovmf-xen:_xen:noarch"
|
|
;;
|
|
aarch64)
|
|
TARGET_ARCH=AARCH64
|
|
PLATFORM="$PLATFORM ArmVirtPkg/ArmVirtQemu.dsc"
|
|
subpackages="$subpackages aavmf::noarch"
|
|
;;
|
|
esac
|
|
|
|
TOOLCHAIN=GCC5
|
|
RELEASE=RELEASE
|
|
|
|
prepare() {
|
|
# unix line endings for the files to be patched
|
|
sed -e 's/\r$//' -i BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp \
|
|
BaseTools/Source/C/VolInfo/VolInfo.c
|
|
rm -rf CryptoPkg/Library/OpensslLib/openssl
|
|
ln -s "$srcdir"/openssl-$_sslver CryptoPkg/Library/OpensslLib/openssl
|
|
rm -rf ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
|
|
ln -s "$srcdir"/SoftFloat-$_sfver \
|
|
ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
|
|
|
|
rm -rf MdePkg/Library/MipiSysTLib/mipisyst
|
|
ln -s "$srcdir"/public-mipi-sys-t-$_mipisyst_commit \
|
|
MdePkg/Library/MipiSysTLib/mipisyst
|
|
|
|
default_prepare
|
|
}
|
|
|
|
build() {
|
|
export PYTHON_COMMAND=python3
|
|
export WORKSPACE=$PWD
|
|
export PACKAGES_PATH=$PWD
|
|
export EDK_TOOLS_PATH=$PWD/BaseTools/
|
|
export PATH=$PWD/BaseTools/BinWrappers/PosixLike/:$PATH
|
|
# parallel build fails
|
|
unset MAKEFLAGS
|
|
|
|
bash -c ". edksetup.sh"
|
|
make -C BaseTools
|
|
|
|
for _p in $PLATFORM; do
|
|
msg "Building Plaform Files $_p"
|
|
command build -b $RELEASE \
|
|
-a $TARGET_ARCH \
|
|
-t $TOOLCHAIN \
|
|
-p $_p \
|
|
-n ${JOBS:-2} \
|
|
-DSECURE_BOOT_ENABLE=TRUE \
|
|
-DTPM2_ENABLE=TRUE
|
|
done
|
|
}
|
|
|
|
package() {
|
|
mkdir -p "$pkgdir"/usr/bin \
|
|
"$pkgdir"/usr/share/$pkgname/Conf \
|
|
"$pkgdir"/usr/share/$pkgname/Scripts
|
|
|
|
install BaseTools/Source/C/bin/* BaseTools/BinWrappers/PosixLike/LzmaF86Compress \
|
|
"$pkgdir"/usr/bin
|
|
install BaseTools/BuildEnv "$pkgdir"/usr/share/$pkgname/
|
|
install BaseTools/Conf/*.template "$pkgdir"/usr/share/$pkgname/Conf
|
|
install BaseTools/Scripts/GccBase.lds "$pkgdir"/usr/share/$pkgname/Scripts
|
|
|
|
for i in $(find BaseTools/Source/Python -type d -maxdepth 1); do
|
|
local mod=${i##*/}
|
|
test -f "$i/$mod.py" || continue
|
|
cp -R BaseTools/Source/Python/"$mod" "$pkgdir"/usr/share/edk2/Python/
|
|
cat <<- EOF > "$pkgdir"/usr/bin/"$mod".py
|
|
#!/bin/sh
|
|
export PYTHONPATH=/usr/share/edk2/Python
|
|
exec $PYTHON_COMMAND /usr/share/edk2/Python/$mod/$mod.py "\$@"
|
|
EOF
|
|
chmod +x "$pkgdir"/usr/bin/"$mod".py
|
|
done
|
|
}
|
|
|
|
_shell() {
|
|
pkgdesc="EDK2 UEFI Shell"
|
|
|
|
# taken from arch
|
|
# minimal UEFI shell, as defined in ShellPkg/Application/Shell/Shell.inf
|
|
local _min='7C04A583-9E3E-4f1c-AD65-E05268D0B4D1'
|
|
# full UEFI shell, as defined in ShellPkg/ShellPkg.dsc
|
|
local _full='EA4BB293-2D7F-4456-A681-1F22F42CD0BC'
|
|
|
|
install -Dm644 "$builddir"/Build/Shell/"$RELEASE"_"$TOOLCHAIN"/$TARGET_ARCH/Shell_$_min.efi \
|
|
"$subpkgdir"/usr/share/edk2-shell/Shell.efi
|
|
|
|
install -Dm644 "$builddir"/Build/Shell/"$RELEASE"_"$TOOLCHAIN"/$TARGET_ARCH/Shell_$_full.efi \
|
|
"$subpkgdir"/usr/share/edk2-shell/ShellFull.efi
|
|
}
|
|
|
|
_ovmf() {
|
|
pkgdesc="Open Virtual Machine Firmware (OVMF) BIOS"
|
|
license="BSD MIT"
|
|
|
|
for fw in "$builddir"/Build/OvmfX64/"$RELEASE"_"$TOOLCHAIN"/FV/*.fd; do
|
|
install -Dm644 $fw "$subpkgdir"/usr/share/OVMF/${fw##*/}
|
|
done
|
|
|
|
# dont ship memfd for now to save space
|
|
rm -f "$subpkgdir"/usr/share/OVMF/MEMFD.fd
|
|
|
|
install -d "$subpkgdir"/usr/share/ovmf
|
|
ln -sf ../OVMF/OVMF.fd "$subpkgdir"/usr/share/ovmf/bios.bin
|
|
}
|
|
|
|
_xen() {
|
|
pkgdesc="Open Virtual Machine Firmware (OVMF) - Xen build"
|
|
license="BSD MIT"
|
|
|
|
install -Dm644 "$builddir"/Build/OvmfXen/"$RELEASE"_"$TOOLCHAIN"/FV/OVMF.fd \
|
|
"$subpkgdir"/usr/lib/xen/boot/ovmf.bin
|
|
}
|
|
|
|
aavmf() {
|
|
pkgdesc="ARM (aarch64) Virtual Machine Firmware EFI"
|
|
license="BSD MIT"
|
|
|
|
dd if=/dev/zero \
|
|
of="$builddir"/Build/ArmVirtQemu-AARCH64/"$RELEASE"_$TOOLCHAIN/FV/AAVMF_CODE.fd \
|
|
bs=1M seek=64 count=0
|
|
dd if="$builddir"/Build/ArmVirtQemu-AARCH64/"$RELEASE"_$TOOLCHAIN/FV/QEMU_EFI.fd \
|
|
of="$builddir"/Build/ArmVirtQemu-AARCH64/"$RELEASE"_$TOOLCHAIN/FV/AAVMF_CODE.fd \
|
|
conv=notrunc
|
|
dd if=/dev/zero \
|
|
of="$builddir"/Build/ArmVirtQemu-AARCH64/"$RELEASE"_$TOOLCHAIN/FV/AAVMF_VARS.fd \
|
|
bs=1M seek=64 count=0
|
|
|
|
for fw in "$builddir"/Build/*/"$RELEASE"_"$TOOLCHAIN"/FV/*.fd; do
|
|
install -Dm644 $fw "$subpkgdir"/usr/share/AAVMF/${fw##*/}
|
|
done
|
|
}
|
|
|
|
pyc() {
|
|
default_pyc
|
|
|
|
local IFS=$'\n'
|
|
amove $(find usr/share/edk2/Python -type d -name __pycache__)
|
|
}
|
|
|
|
sha512sums="
|
|
668411dc64a4a69afd145221c599fffc3797de26e801dda7d9b7ed92f755ff4fda4635dbc21c821f527e56eb71c4ad98c1fb079112a56d6b6eea5ff4d010e3cf edk2-0.0.202308.tar.gz
|
|
de6888577ceab7ab6915d792f3c48248cfa53357ccd310fc7f7eae4d25a932de8c7c23e5b898c9ebf61cf86cb538277273f2eb131a628b3bf0d46c9a3b9b6686 mipisyst-370b5944c046bab043dd8b133727b2135af7747a.tar.gz
|
|
86c99146b37236419b110db77dd3ac3992e6bed78c258f0cc3434ca233460b4e17c0ac81d7058547fe9cb72a9fd80ee56d4b4916bb731dbe2bbcf1c3d46bf31a openssl-3.0.9.tar.gz
|
|
3fedcd0060affb2d8fc7995894133cfed6a495c8717df0d30c89885223c38749f25743598383736036332dad6353c6a3f027f5a94a696660f7c4b607e33e534c SoftFloat-3e.zip
|
|
a7d4ab2c82b62ba01c86e59f53bd3896d661c9bfbb9db9598734155b66d5fe03eca4a2a9993a14d3bf555992c6d01ba5d7a15868ff9ec6ed98b8a9b3895bb7df build-hack.patch
|
|
ecbfc1ec3b732580c33c477191b71553247af1a68f1754bd363d179e0f5aabde93e3c5ec7f2574f9a9ffefef34e75787a2a87b1057b02cd206e8f0618a252871 0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch
|
|
ecad98ff84ab307bda751c8a9a321e064ef880dc66b4d107e66aedbc4e14d00eed76770437e25fa9153dc30803f5cbbf1299329f56865a3b75d2c19f6615e68b 0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch
|
|
"
|