forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: David Seifert <[email protected]>
- Loading branch information
1 parent
6981d23
commit e17d49f
Showing
2 changed files
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST gnu-efi-3.0.15.tar.bz2 159399 BLAKE2B 0df93d8cacfa1e6d4b7731e32287d4386da9375c5e5c5847df8a29c99d70f5c24b14abc5e44ab9d0a39a6ec96682eb2b5e84d81a5a142d44a50a522a4ae0e3c2 SHA512 64d408b6d115bdc6eebae12fbd6cd907ed5f847f54e506c1e8f8ea5de38a95cf6fac66ab1009bd1d0bd2d54ad45ad598d29bcc303926a5899bf5cc25448cbb2f | ||
DIST gnu-efi-3.0.17.tar.bz2 165568 BLAKE2B 27f8171b411a6a8a138d44d91c7e4e4291aa399562825d51a398913572119482ffeb303d7508ae13eacd2cd10b8f5098405ab16eb56243587efe93235f661285 SHA512 0893ca234272584f889b1ae1c75341a9ceee60acfd32765daa5d704191ba00450536a287b949304c6d055d1bf125cc29e24fc41df8e5230e0da4f9d944876512 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Copyright 2004-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
inherit toolchain-funcs | ||
|
||
DESCRIPTION="Library for build EFI Applications" | ||
HOMEPAGE="https://sourceforge.net/projects/gnu-efi/" | ||
SRC_URI="mirror://sourceforge/gnu-efi/${P}.tar.bz2" | ||
|
||
# inc/, lib/ dirs (README.efilib) | ||
# - BSD-2 | ||
# gnuefi dir: | ||
# - BSD (3-cluase): crt0-efi-ia32.S | ||
# - GPL-2+ : setjmp_ia32.S | ||
LICENSE="GPL-2+ BSD BSD-2" | ||
SLOT="0" | ||
KEYWORDS="-* ~amd64 ~arm ~arm64 ~ia64 ~riscv ~x86" | ||
IUSE="abi_x86_32 abi_x86_64 custom-cflags" | ||
REQUIRED_USE=" | ||
amd64? ( || ( abi_x86_32 abi_x86_64 ) ) | ||
x86? ( || ( abi_x86_32 abi_x86_64 ) ) | ||
" | ||
|
||
# These objects get run early boot (i.e. not inside of Linux), | ||
# so doing these QA checks on them doesn't make sense. | ||
QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" | ||
RESTRICT="strip" | ||
|
||
PATCHES=( "${FILESDIR}"/${PN}-3.0.9-fix-clang-build.patch ) | ||
|
||
src_prepare() { | ||
default | ||
sed -i -e "s/-Werror//" Make.defaults || die | ||
} | ||
|
||
efimake() { | ||
local arch= | ||
case ${CHOST} in | ||
arm*) arch=arm ;; | ||
aarch64*) arch=aarch64 ;; | ||
ia64*) arch=ia64 ;; | ||
i?86*) arch=ia32 ;; | ||
riscv64*) arch=riscv64;; | ||
x86_64*) arch=x86_64 ;; | ||
*) die "Unknown CHOST" ;; | ||
esac | ||
|
||
local args=( | ||
ARCH="${arch}" | ||
HOSTCC="${BUILD_CC}" | ||
CC="${CC}" | ||
AS="${AS}" | ||
LD="${LD}" | ||
AR="${AR}" | ||
PREFIX="${EPREFIX}/usr" | ||
LIBDIR='$(PREFIX)'/$(get_libdir) | ||
) | ||
emake -j1 "${args[@]}" "$@" | ||
} | ||
|
||
src_compile() { | ||
tc-export BUILD_CC AR AS CC LD | ||
|
||
if ! use custom-cflags; then | ||
unset CFLAGS CPPFLAGS LDFLAGS | ||
fi | ||
|
||
if use amd64 || use x86; then | ||
use abi_x86_32 && CHOST=i686 ABI=x86 efimake | ||
use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake | ||
else | ||
efimake | ||
fi | ||
} | ||
|
||
src_install() { | ||
if use amd64 || use x86; then | ||
use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install | ||
use abi_x86_64 && CHOST=x86_64 ABI=amd64 efimake INSTALLROOT="${D}" install | ||
else | ||
efimake INSTALLROOT="${D}" install | ||
fi | ||
einstalldocs | ||
} |