Merge pull request #2665 from glevand/for-merge-edk2

sys-firmware/edk2: New package
This commit is contained in:
Geoff Levand 2017-07-27 16:13:49 -07:00 committed by GitHub
commit c08d50a7a0
23 changed files with 219 additions and 232 deletions

View File

@ -25,7 +25,7 @@ RDEPEND="
)
arm64? (
sys-boot/grub
sys-firmware/edk2-armvirt
sys-firmware/edk2
)
coreos-base/coreos
coreos-base/coreos-dev

View File

@ -40,7 +40,7 @@ DEPEND="
sys-boot/grub
sys-boot/shim
sys-devel/crossdev
sys-firmware/edk2-ovmf
sys-firmware/edk2
sys-fs/btrfs-progs
sys-fs/cryptsetup
"

View File

@ -4,6 +4,6 @@ EAPI=5
HOMEPAGE=http://coreos.com/docs/sdk/
KEYWORDS=amd64 arm64
LICENSE=GPL-2
RDEPEND=amd64? ( app-emulation/open-vm-tools app-emulation/wa-linux-agent coreos-base/coreos-oem-gce coreos-base/nova-agent-container coreos-base/nova-agent-watcher dev-lang/python-oem ) arm64? ( sys-boot/grub sys-firmware/edk2-armvirt ) coreos-base/coreos coreos-base/coreos-dev
RDEPEND=amd64? ( app-emulation/open-vm-tools app-emulation/wa-linux-agent coreos-base/coreos-oem-gce coreos-base/nova-agent-container coreos-base/nova-agent-watcher dev-lang/python-oem ) arm64? ( sys-boot/grub sys-firmware/edk2 ) coreos-base/coreos coreos-base/coreos-dev
SLOT=0
_md5_=7b084a45802e712644cad2d5ddbe8509

View File

@ -4,6 +4,6 @@ EAPI=5
HOMEPAGE=http://coreos.com/docs/sdk/
KEYWORDS=amd64 arm64
LICENSE=GPL-2
RDEPEND=amd64? ( app-emulation/open-vm-tools app-emulation/wa-linux-agent coreos-base/coreos-oem-gce coreos-base/nova-agent-container coreos-base/nova-agent-watcher dev-lang/python-oem ) arm64? ( sys-boot/grub sys-firmware/edk2-armvirt ) coreos-base/coreos coreos-base/coreos-dev
RDEPEND=amd64? ( app-emulation/open-vm-tools app-emulation/wa-linux-agent coreos-base/coreos-oem-gce coreos-base/nova-agent-container coreos-base/nova-agent-watcher dev-lang/python-oem ) arm64? ( sys-boot/grub sys-firmware/edk2 ) coreos-base/coreos coreos-base/coreos-dev
SLOT=0
_md5_=7b084a45802e712644cad2d5ddbe8509

View File

@ -1,10 +1,10 @@
DEFINED_PHASES=-
DEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2-ovmf sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
DEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2 sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
DESCRIPTION=Meta ebuild for everything that should be in the SDK.
EAPI=5
HOMEPAGE=http://coreos.com/docs/sdk/
KEYWORDS=amd64
LICENSE=GPL-2
RDEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2-ovmf sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
RDEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2 sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
SLOT=0
_md5_=3c0e1c1eb83fe177792885897b652208

View File

@ -1,10 +1,10 @@
DEFINED_PHASES=-
DEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2-ovmf sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
DEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2 sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
DESCRIPTION=Meta ebuild for everything that should be in the SDK.
EAPI=5
HOMEPAGE=http://coreos.com/docs/sdk/
KEYWORDS=amd64
LICENSE=GPL-2
RDEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2-ovmf sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
RDEPEND=app-admin/sudo app-admin/updateservicectl app-arch/pbzip2 app-emulation/acbuild app-emulation/actool app-emulation/open-vmdk app-misc/jq app-shells/bash-completion coreos-base/hard-host-depends coreos-base/coreos-sb-keys coreos-devel/mantle coreos-devel/kola-data dev-libs/gobject-introspection dev-libs/nss dev-python/setuptools dev-util/boost-build dev-util/checkbashisms dev-vcs/repo net-dns/bind-tools net-misc/curl sys-apps/debianutils sys-apps/iproute2 sys-apps/seismograph sys-boot/grub sys-boot/shim sys-devel/crossdev sys-firmware/edk2 sys-fs/btrfs-progs sys-fs/cryptsetup >=sys-apps/checkpolicy-2.0.21 >=sys-apps/policycoreutils-2.0.82 sys-devel/m4 sys-devel/autoconf:2.1
SLOT=0
_md5_=3c0e1c1eb83fe177792885897b652208

View File

@ -1,2 +0,0 @@
DIST edk2-18219.tar.xz 18537400 SHA256 fc5b5eae45f62993390f141af1f632045eb9e7c0ee009a15788d081f5e37b703 SHA512 8f9ec10b23940f2176576c3c2767407f3de2562a46c177912ed551d63b4049948a91cb757aa3a968ddeb8ccaff138b8fc171789bd150ea3496ff25c6dda923c5 WHIRLPOOL 4c5eb8628a4558e4e7ab41ded5877676eb4d3b51e4ba4869fd451e727f6503dbb8fd71667db75935c44f490048e882bd1d983890d80e239c913748d747e5d41b
DIST openssl-1.0.2d.tar.gz 5295447 SHA256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 SHA512 68a051e92aaed0e7a8b218c185427c534c32f30f50c45f5d2c1f5b7a26d1416e83863d2953c77486acde3b636a148f39faf48246d28a207607ec069f62b13d75 WHIRLPOOL e3d8f0784903c8d6aa05ada7b8b410517c99157a3c2f4ac34c8a9d80c77408bd6ff9e820ded47f6223ccac4a77413174aa625303166ec28fdbf8374a7d4659ec

View File

@ -1,78 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
inherit eutils multiprocessing toolchain-funcs
DESCRIPTION="EDK II Open Source UEFI Firmware"
HOMEPAGE="http://tianocore.sourceforge.net"
LICENSE="BSD-2"
SLOT="0"
IUSE="debug +secure-boot"
if [[ ${PV} == 99999 ]]; then
inherit subversion
ESVN_REPO_URI="https://svn.code.sf.net/p/edk2/code/trunk/edk2"
KEYWORDS="-* ~arm64"
else
MY_P="edk2-${PV}"
S="${WORKDIR}/${MY_P}"
SRC_URI="http://storage.core-os.net/mirror/snapshots/${MY_P}.tar.xz"
KEYWORDS="-* arm64"
fi
OPENSSL_PV="1.0.2d"
OPENSSL_P="openssl-${OPENSSL_PV}"
SRC_URI+=" mirror://openssl/source/${OPENSSL_P}.tar.gz"
src_prepare() {
# aarch64 gcc gets confused by -pie
epatch "${FILESDIR}/edk2-nopie.patch"
if use secure-boot; then
local openssllib="${S}/CryptoPkg/Library/OpensslLib"
mv "${WORKDIR}/${OPENSSL_P}" "${openssllib}" || die
cd "${openssllib}/${OPENSSL_P}"
epatch "${openssllib}/EDKII_${OPENSSL_P}.patch"
cd "${openssllib}"
sh -e ./Install.sh || die
cd "${S}"
fi
}
src_configure() {
./edksetup.sh || die
TARGET_NAME=$(usex debug DEBUG RELEASE)
TARGET_TOOLS="GCC$(gcc-version | tr -d .)"
case $ARCH in
arm64) TARGET_ARCH=AARCH64 ;;
*) die "Unsupported $ARCH" ;;
esac
}
src_compile() {
emake ARCH=${TARGET_ARCH} -C BaseTools -j1
export GCC49_AARCH64_PREFIX="${CHOST}-"
. ./edksetup.sh || die
build \
-a ${TARGET_ARCH} \
-b ${TARGET_NAME} \
-p ArmVirtPkg/ArmVirtQemu.dsc \
-t ${TARGET_TOOLS} \
-n $(makeopts_jobs) \
-D SECURE_BOOT_ENABLE=$(usex secure-boot TRUE FALSE) \
-D FD_SIZE_2MB || die "Building ArmVirtPkg failed"
}
src_install() {
local fv="Build/ArmVirtQemu-${TARGET_ARCH}/${TARGET_NAME}_${TARGET_TOOLS}/FV"
insinto /usr/share/${PN}
doins "${fv}"/QEMU_EFI.fd
dosym QEMU_EFI.fd /usr/share/${PN}/bios.bin
}

View File

@ -1,13 +0,0 @@
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index 09d2bff..f3ca05d 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -51,7 +51,7 @@ CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-de
else
CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -nostdlib -c -g
endif
-LFLAGS =
+LFLAGS = -nopie
ifeq ($(ARCH), IA32)
#

View File

@ -1,2 +0,0 @@
DIST edk2-18219.tar.xz 18537400 SHA256 fc5b5eae45f62993390f141af1f632045eb9e7c0ee009a15788d081f5e37b703 SHA512 8f9ec10b23940f2176576c3c2767407f3de2562a46c177912ed551d63b4049948a91cb757aa3a968ddeb8ccaff138b8fc171789bd150ea3496ff25c6dda923c5 WHIRLPOOL 4c5eb8628a4558e4e7ab41ded5877676eb4d3b51e4ba4869fd451e727f6503dbb8fd71667db75935c44f490048e882bd1d983890d80e239c913748d747e5d41b
DIST openssl-1.0.2d.tar.gz 5295447 SHA256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 SHA512 68a051e92aaed0e7a8b218c185427c534c32f30f50c45f5d2c1f5b7a26d1416e83863d2953c77486acde3b636a148f39faf48246d28a207607ec069f62b13d75 WHIRLPOOL e3d8f0784903c8d6aa05ada7b8b410517c99157a3c2f4ac34c8a9d80c77408bd6ff9e820ded47f6223ccac4a77413174aa625303166ec28fdbf8374a7d4659ec

View File

@ -1 +0,0 @@
edk2-ovmf-99999.ebuild

View File

@ -1,88 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
inherit eutils multiprocessing toolchain-funcs
DESCRIPTION="EDK II Open Source UEFI Firmware"
HOMEPAGE="http://tianocore.sourceforge.net"
LICENSE="BSD-2"
SLOT="0"
IUSE="debug +qemu +secure-boot"
if [[ ${PV} == 99999 ]]; then
inherit subversion
ESVN_REPO_URI="https://svn.code.sf.net/p/edk2/code/trunk/edk2"
KEYWORDS="-* ~amd64"
else
MY_P="edk2-${PV}"
S="${WORKDIR}/${MY_P}"
SRC_URI="http://storage.core-os.net/mirror/snapshots/${MY_P}.tar.xz"
KEYWORDS="-* amd64"
fi
OPENSSL_PV="1.0.2d"
OPENSSL_P="openssl-${OPENSSL_PV}"
SRC_URI+=" mirror://openssl/source/${OPENSSL_P}.tar.gz"
DEPEND=">=dev-lang/nasm-2.0.7
sys-power/iasl"
RDEPEND="qemu? ( app-emulation/qemu )"
src_prepare() {
# This build system is impressively complicated, needless to say
# it does things that get confused by PIE being enabled by default.
# Add -nopie to a few strategic places... :)
if gcc-specs-pie; then
epatch "${FILESDIR}/edk2-nopie.patch"
fi
if use secure-boot; then
local openssllib="${S}/CryptoPkg/Library/OpensslLib"
mv "${WORKDIR}/${OPENSSL_P}" "${openssllib}" || die
cd "${openssllib}/${OPENSSL_P}"
epatch "${openssllib}/EDKII_${OPENSSL_P}.patch"
cd "${openssllib}"
sh -e ./Install.sh || die
cd "${S}"
fi
}
src_configure() {
./edksetup.sh || die
TARGET_NAME=$(usex debug DEBUG RELEASE)
TARGET_TOOLS="GCC$(gcc-version | tr -d .)"
case $ARCH in
amd64) TARGET_ARCH=X64 ;;
#x86) TARGET_ARCH=IA32 ;;
*) die "Unsupported $ARCH" ;;
esac
}
src_compile() {
emake ARCH=${TARGET_ARCH} -C BaseTools -j1
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" \
-b "${TARGET_NAME}" \
-t "${TARGET_TOOLS}" \
-n $(makeopts_jobs) \
-D SECURE_BOOT_ENABLE=$(usex secure-boot TRUE FALSE) \
-D FD_SIZE_2MB \
|| die "OvmfPkg/build.sh failed"
}
src_install() {
local fv="Build/OvmfX64/${TARGET_NAME}_${TARGET_TOOLS}/FV"
insinto /usr/share/${PN}
doins "${fv}"/OVMF{,_CODE,_VARS}.fd
dosym OVMF.fd /usr/share/${PN}/bios.bin
if use qemu; then
dosym ../${PN}/OVMF.fd /usr/share/qemu/efi-bios.bin
fi
}

View File

@ -1,35 +0,0 @@
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 859fbe1..3731150 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3807,7 +3807,7 @@ NOOPT_DDK3790xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF
DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG =
-DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -c -include AutoGen.h
+DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -c -include AutoGen.h -nopie
DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency
@@ -3838,7 +3838,7 @@ DEFINE GCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64
DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
-DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -nopie
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables
DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address -mcmodel=large -fno-asynchronous-unwind-tables
DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections -z common-page-size=0x20
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index 09d2bff..f3ca05d 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -51,7 +51,7 @@ CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-de
else
CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -nostdlib -c -g
endif
-LFLAGS =
+LFLAGS = -nopie
ifeq ($(ARCH), IA32)
#

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
</pkgmetadata>

View File

@ -0,0 +1,2 @@
DIST openssl-1.1.0f.tar.gz 5278176 SHA256 12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765 SHA512 340ab3f38c90dea346e543b58bc0eff0adede15be212ad20b7cf38718a7f94fab51996da414855c180540f7488b8bd31d8b9a0d04bb19159f735c46d8f6df22c WHIRLPOOL bb4ce1d100c5eb567de0139e4a1c0a2bb1cd308bd014704d6bb796d3fcfc16b91fe69839068944831746e0b937a6ccb234b5cea3b4911fab4283500ed380f0b6
DIST vUDK2017.tar.gz 38737278 SHA256 4697c58206f1914eb3779e8515d8fd3de058d736ffdfc78e3e76708d7b7699f1 SHA512 62e42cd4523df0de5abf0d655c7e5a38298296fe2ee7bb504f0663bf576637fdc759cae5294a123623430c7711ecc90ffc2d6ff6265e1987e42502cc03d3a1d0 WHIRLPOOL c3d87b6f47347b15837f1da67ce3a06c66ecf2f6d04f03788b9cbda9fd5c7a46d677f79755d3f4a30b2ce79d0df48ba52aab1f5268e35cb02bca2e7cd4218a27

View File

@ -0,0 +1 @@
edk2-99999.ebuild

View File

@ -0,0 +1,131 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
inherit eutils multiprocessing toolchain-funcs
DESCRIPTION="EDK II Open Source UEFI Firmware"
HOMEPAGE="https://github.com/tianocore/tianocore.github.io/wiki/EDK-II"
LICENSE="BSD-2"
SLOT="0"
IUSE="debug +qemu +secure-boot"
if [[ ${PV} == 99999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tianocore/edk2.git"
KEYWORDS="-* ~arm64 ~amd64"
else
EDK2_PV="vUDK2017"
S="${WORKDIR}/edk2-${EDK2_PV}"
SRC_URI="https://github.com/tianocore/edk2/archive/${EDK2_PV}.tar.gz"
KEYWORDS="-* arm64 amd64"
fi
OPENSSL_PV="1.1.0f"
OPENSSL_P="openssl-${OPENSSL_PV}"
SRC_URI+=" https://www.openssl.org/source/${OPENSSL_P}.tar.gz"
DEPEND="
amd64? (
>=dev-lang/nasm-2.10.0
sys-power/iasl
)"
RDEPEND="
!sys-firmware/edk2-armvirt
!sys-firmware/edk2-ovmf
amd64? (
qemu? ( app-emulation/qemu )
)"
src_unpack() {
[[ ${EGIT_REPO_URI} ]] && git-r3_src_unpack
unpack ${A}
}
src_prepare() {
epatch "${FILESDIR}/${PN}-2017.06-edksetup.patch"
epatch "${FILESDIR}/${PN}-2017.06-BaseTools.patch"
if use secure-boot; then
local openssllib="${S}/CryptoPkg/Library/OpensslLib"
mv "${WORKDIR}/${OPENSSL_P}" "${openssllib}/openssl" || \
die "openssl setup failed."
fi
}
src_configure() {
./edksetup.sh || die "edksetup.sh failed."
TARGET_NAME=$(usex debug DEBUG RELEASE)
TARGET_TOOLS="GCC$(gcc-version | tr -d .)"
case ${ARCH} in
amd64) TARGET_ARCH=X64 ;;
arm64) TARGET_ARCH=AARCH64 ;;
*) die "Unsupported ${ARCH}" ;;
esac
}
src_compile() {
# The BaseTools makefile has a conflicting ARCH variable.
local arch_save=${ARCH}
unset ARCH
emake -C BaseTools -j1
ARCH=${arch_save}
export GCC49_AARCH64_PREFIX="${CHOST}-"
source ./edksetup.sh || die "edksetup.sh failed."
case ${ARCH} in
amd64)
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" \
-b "${TARGET_NAME}" \
-t "${TARGET_TOOLS}" \
-n $(makeopts_jobs) \
-D SECURE_BOOT_ENABLE=$(usex secure-boot TRUE FALSE) \
-D FD_SIZE_2MB \
|| die "edk2 build failed."
;;
arm64)
build \
-a ${TARGET_ARCH} \
-b ${TARGET_NAME} \
-p ArmVirtPkg/ArmVirtQemu.dsc \
-t ${TARGET_TOOLS} \
-n $(makeopts_jobs) \
-D SECURE_BOOT_ENABLE=$(usex secure-boot TRUE FALSE) \
-D FD_SIZE_2MB \
|| die "edk2 build failed."
;;
*)
die "Unsupported ${ARCH}"
;;
esac
}
src_install() {
insinto /usr/share/${PN}
case ${ARCH} in
amd64)
local fv="Build/OvmfX64/${TARGET_NAME}_${TARGET_TOOLS}/FV"
doins "${fv}"/OVMF{,_CODE,_VARS}.fd
dosym OVMF.fd /usr/share/${PN}/bios.bin
if use qemu; then
dosym ../${PN}/OVMF.fd /usr/share/qemu/efi-bios.bin
fi
;;
arm64)
local fv="Build/ArmVirtQemu-${TARGET_ARCH}/${TARGET_NAME}_${TARGET_TOOLS}/FV"
doins "${fv}"/QEMU_EFI.fd
dosym QEMU_EFI.fd /usr/share/${PN}/bios.bin
;;
esac
}

View File

@ -0,0 +1,60 @@
commit 7a17214744ad7fdeee181d454618b0ceabd4f51c
Author: Geoff Levand <geoff@infradead.org>
Date: Wed Jul 26 17:52:24 2017 -0700
Fix BaseTools makefiles for pie compiler
Signed-off-by: Geoff Levand <geoff@infradead.org>
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index 063982b82f..693e08b942 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -51,7 +51,7 @@ BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-depreca
else
BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
endif
-BUILD_LFLAGS =
+BUILD_LFLAGS = -nopie
BUILD_CXXFLAGS = -Wno-unused-result
ifeq ($(ARCH), IA32)
diff --git a/BaseTools/Source/C/VfrCompile/GNUmakefile b/BaseTools/Source/C/VfrCompile/GNUmakefile
index 2ebf3e0465..b81f51ecd7 100644
--- a/BaseTools/Source/C/VfrCompile/GNUmakefile
+++ b/BaseTools/Source/C/VfrCompile/GNUmakefile
@@ -36,6 +36,8 @@ include $(MAKEROOT)/Makefiles/header.makefile
APPLICATION = $(MAKEROOT)/bin/$(APPNAME)
+LFLAGS = -nopie
+
.PHONY:all
all: $(MAKEROOT)/bin $(APPLICATION)
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile b/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile
index 8f2cc78c59..5bac6f9e5d 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile
@@ -170,7 +170,7 @@ ANTLR=${BIN_DIR}/antlr
DLG=${BIN_DIR}/dlg
OBJ_EXT=o
OUT_OBJ = -o
-BUILD_CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) -DZZLEXBUFSIZE=65536
+BUILD_CFLAGS= -nopie $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) -DZZLEXBUFSIZE=65536
BUILD_CPPFLAGS=
#
# SGI Users, use this CFLAGS
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile b/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile
index b3a34d3b46..1676ee7761 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile
+++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile
@@ -118,7 +118,7 @@ BUILD_CC?=cc
COPT=-O
ANTLR=${BIN_DIR}/antlr
DLG=${BIN_DIR}/dlg
-BUILD_CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -DZZLEXBUFSIZE=65536
+BUILD_CFLAGS= -nopie $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -DZZLEXBUFSIZE=65536
BUILD_CPPFLAGS=
OBJ_EXT=o
OUT_OBJ = -o

View File

@ -0,0 +1,17 @@
commit cc3c0e45b929927ed49b16e0edddebbd2da05f74
Author: Geoff Levand <geoff@infradead.org>
Date: Thu Jul 20 16:26:08 2017 -0700
fix edksetup.sh
Signed-off-by: Geoff Levand <geoff@infradead.org>
diff --git a/edksetup.sh b/edksetup.sh
index ec54f9ea40..fb0213bd1b 100755
--- a/edksetup.sh
+++ b/edksetup.sh
@@ -146,4 +146,3 @@ SourceEnv
unset SCRIPTNAME RECONFIG
-return $?