commit:     636e954d1e3931cfea387c984fa38a883fc7e8ae
Author:     Sam Jorna <wraeth <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 14 02:22:26 2016 +0000
Commit:     Sam Jorna <wraeth <AT> gentoo <DOT> org>
CommitDate: Wed Dec 14 22:28:25 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=636e954d

sys-boot/refind: fix building with custom-cflags

Gentoo-bug: 598587
Acked-by: Stéphane Veyret <sveyret <AT> gmail.com>
Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-boot/refind/refind-0.10.4-r1.ebuild | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/sys-boot/refind/refind-0.10.4-r1.ebuild 
b/sys-boot/refind/refind-0.10.4-r1.ebuild
index 2bc85ce..af45a99 100644
--- a/sys-boot/refind/refind-0.10.4-r1.ebuild
+++ b/sys-boot/refind/refind-0.10.4-r1.ebuild
@@ -22,6 +22,18 @@ DEPEND="gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
 
 DOCS="NEWS.txt README.txt docs/refind docs/Styles"
 
+pkg_pretend() {
+       if use custom-cflags; then
+               ewarn
+               ewarn "You have enabled building with USE=custom-cflags. Be 
aware that"
+               ewarn "using this can result in EFI binaries that fail to run 
and may"
+               ewarn "fail to build at all. This is strongly advised against 
by upstream."
+               ewarn
+               ewarn "See https://bugs.gentoo.org/598587#c3 for more 
information"
+               ewarn
+       fi
+}
+
 pkg_setup() {
        if use x86 ; then
                export EFIARCH=ia32
@@ -96,12 +108,16 @@ src_compile() {
                        --defsym=PECOFF_HEADER_SIZE=${pecoff_header_size} \
                        --entry \$(ENTRYPOINT) -u \$(ENTRYPOINT) -m \$(LD_CODE)"
        )
-       use custom-cflags && make_flags[CFLAGS]="${CFLAGS}"
 
        # Make main EFI
        local all_target
        use gnuefi && all_target="gnuefi" || all_target="tiano"
-       emake "${make_flags[@]}" ${all_target}
+
+       if use custom-cflags; then
+               emake CFLAGS="${CFLAGS}" "${make_flags[@]}" ${all_target}
+       else
+               emake "${make_flags[@]}" ${all_target}
+       fi
 
        # Make filesystem drivers
        local gnuefi_target
@@ -111,7 +127,11 @@ src_compile() {
                fs=${fs#+}
                if use "${fs}"; then
                        einfo "Building ${fs} filesystem driver"
-                       emake "${make_flags[@]}" -C "${S}/filesystems" 
${fs}${gnuefi_target}
+                       if use custom-cflags; then
+                               emake CFLAGS="${CFLAGS}" "${make_flags[@]}" -C 
"${S}/filesystems" ${fs}${gnuefi_target}
+                       else
+                               emake "${make_flags[@]}" -C "${S}/filesystems" 
${fs}${gnuefi_target}
+                       fi
                fi
        done
 }

Reply via email to