From e045f25978e1f75752f6a9272a76aae499d21fe3 Mon Sep 17 00:00:00 2001 From: Dane Smith Date: Sun, 25 Jul 2010 15:11:02 -0400 Subject: My ebuild for gnu-efi --- sys-boot/gnu-efi/ChangeLog | 11 +++++ sys-boot/gnu-efi/Manifest | 6 +++ .../gnu-efi/files/gnu-efi-3.0a-lds-redhat.patch | 42 +++++++++++++++++ sys-boot/gnu-efi/files/gnu-efi-3.0a-lds.patch | 55 ++++++++++++++++++++++ sys-boot/gnu-efi/files/gnu-efi-3.0i-stack.diff | 13 +++++ sys-boot/gnu-efi/gnu-efi-3.0i-r1.ebuild | 48 +++++++++++++++++++ 6 files changed, 175 insertions(+) create mode 100644 sys-boot/gnu-efi/ChangeLog create mode 100644 sys-boot/gnu-efi/Manifest create mode 100644 sys-boot/gnu-efi/files/gnu-efi-3.0a-lds-redhat.patch create mode 100644 sys-boot/gnu-efi/files/gnu-efi-3.0a-lds.patch create mode 100644 sys-boot/gnu-efi/files/gnu-efi-3.0i-stack.diff create mode 100644 sys-boot/gnu-efi/gnu-efi-3.0i-r1.ebuild (limited to 'sys-boot') diff --git a/sys-boot/gnu-efi/ChangeLog b/sys-boot/gnu-efi/ChangeLog new file mode 100644 index 0000000..11acfad --- /dev/null +++ b/sys-boot/gnu-efi/ChangeLog @@ -0,0 +1,11 @@ +# ChangeLog for sys-boot/gnu-efi +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*gnu-efi-3.0i-r1 (25 Jul 2010) + + 25 Jul 2010; Dane Smith (c1pher) + +files/gnu-efi-3.0a-lds.patch, +files/gnu-efi-3.0a-lds-redhat.patch, + +gnu-efi-3.0i-r1.ebuild, +files/gnu-efi-3.0i-stack.diff: + Working on QA Warnings for gnu-efi-3.0i. Should be fixed. + diff --git a/sys-boot/gnu-efi/Manifest b/sys-boot/gnu-efi/Manifest new file mode 100644 index 0000000..62386a3 --- /dev/null +++ b/sys-boot/gnu-efi/Manifest @@ -0,0 +1,6 @@ +AUX gnu-efi-3.0a-lds-redhat.patch 881 RMD160 86746f8664fcd068466112502fc89a9f228dcfd1 SHA1 1ee0363dc26736de1a301bfb4c94561cbb651515 SHA256 1e7d9bd7717d9315a96f237e4e4a3ea3b6ffb7e61c3e4de1fca74e8e11b58a9b +AUX gnu-efi-3.0a-lds.patch 995 RMD160 037cf3e08911a01e13846e5adb9c3e56354bc544 SHA1 01f2256709aad74fba97911f5b278cd4d7b37c87 SHA256 d5e07eb3d5172e62be1f8e766709e93c7bff1b7f5aee47cd4fac888036bc886d +AUX gnu-efi-3.0i-stack.diff 426 RMD160 1038e6098484b771c93a617e0cc0168c5f316355 SHA1 07d122b1b14b9777c77f3fe32d0fae1a121e90e8 SHA256 32171a05dff7f75767c77ed1483114b054c0783536ff77a0f0aaaa141c6e2584 +DIST gnu-efi_3.0i-2.diff.gz 4838 RMD160 b6113d71f3ec616e55840ce89848fcc335074e8a SHA1 48a79fb85bdab45697310c6eff69ee414b89c4ad SHA256 4488db1978215e06a6e859fb75491d7f5bd5a6821e70be0ba604f0de628a442f +DIST gnu-efi_3.0i.orig.tar.gz 135068 RMD160 c73924116b56e8d4394bdb17cf08a267b6c33f97 SHA1 a4f9bd00e777452648e0d57b32080e63f54f2ee1 SHA256 13bea8e387984e04d93e14004a2e24539802fb2bd42cac112c8a816395d95366 +EBUILD gnu-efi-3.0i-r1.ebuild 1291 RMD160 6533edf3084b2c687bfd754f264a4d71676c22cf SHA1 58e8e27d1948709160bdc2cfa30b002db31a9eed SHA256 a3cc83ff100d842bc2e00e70da0ed105702e7c2df99ff34e5b324d48ba48ad16 diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0a-lds-redhat.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0a-lds-redhat.patch new file mode 100644 index 0000000..d47dc3a --- /dev/null +++ b/sys-boot/gnu-efi/files/gnu-efi-3.0a-lds-redhat.patch @@ -0,0 +1,42 @@ +Updated lds patch from redhat which works with newer binutils. + +http://bugs.gentoo.org/show_bug.cgi?id=79091 + +--- gnuefi/elf_ia64_efi.lds ++++ gnuefi/elf_ia64_efi.lds +@@ -28,6 +28,5 @@ + { + *(.rodata*) + *(.ctors) +- *(.data) +- *(.data1) ++ *(.data*) + *(.gnu.linkonce.d*) +@@ -31,8 +31,4 @@ SECTIONS + *(.plabel) /* data whose relocs we want to ignore */ +- *(.IA_64.unwind) +- *(.IA_64.unwind_info) +- *(.IA64.unwind) +- *(.IA64.unwind_info) + /* the EFI loader doesn't seem to like a .bss section, so we stick + it all into .data: */ + *(.dynbss) +@@ -48,7 +47,7 @@ + .rela : + { + *(.rela.text) +- *(.rela.data) ++ *(.rela.data*) + *(.rela.sdata) + *(.rela.got) + *(.rela.gnu.linkonce.d*) +@@ -68,4 +64,9 @@ SECTIONS + *(.rela.plabel) + *(.rela.reloc) + } ++ /DISCARD/ : ++ { ++ *(.IA_64.unwind*) ++ *(.IA64.unwind*) ++ } + } diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0a-lds.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0a-lds.patch new file mode 100644 index 0000000..f16efdb --- /dev/null +++ b/sys-boot/gnu-efi/files/gnu-efi-3.0a-lds.patch @@ -0,0 +1,55 @@ +--- gnu-efi-3.0a.orig/gnuefi/elf_ia32_efi.lds ++++ gnu-efi-3.0a/gnuefi/elf_ia32_efi.lds +@@ -17,6 +17,7 @@ + *(.rodata*) + *(.data) + *(.data1) ++ *(.data.*) + *(.sdata) + *(.got.plt) + *(.got) +@@ -34,8 +35,13 @@ + .rel : + { + *(.rel.data) ++ *(.rel.data.*) + *(.rel.got) + *(.rel.stab) ++ *(.data.rel.ro.local) ++ *(.data.rel.local) ++ *(.data.rel.ro) ++ *(.data.rel*) + } + . = ALIGN(4096); + .dynsym : { *(.dynsym) } +@@ -46,4 +52,9 @@ + { + *(.rel.reloc) + } ++ .ignored : ++ { ++ *(.eh_frame) ++ } + } ++ +--- gnu-efi-3.0a.orig/gnuefi/elf_ia64_efi.lds ++++ gnu-efi-3.0a/gnuefi/elf_ia64_efi.lds +@@ -28,8 +28,7 @@ + { + *(.rodata*) + *(.ctors) +- *(.data) +- *(.data1) ++ *(.data*) + *(.gnu.linkonce.d*) + *(.plabel) /* data whose relocs we want to ignore */ + *(.IA_64.unwind) +@@ -48,7 +47,7 @@ + .rela : + { + *(.rela.text) +- *(.rela.data) ++ *(.rela.data*) + *(.rela.sdata) + *(.rela.got) + *(.rela.gnu.linkonce.d*) diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0i-stack.diff b/sys-boot/gnu-efi/files/gnu-efi-3.0i-stack.diff new file mode 100644 index 0000000..067cfb0 --- /dev/null +++ b/sys-boot/gnu-efi/files/gnu-efi-3.0i-stack.diff @@ -0,0 +1,13 @@ +--- crt0-efi-ia32.S 2008-09-18 14:32:08.000000000 -0400 ++++ /home/smitdane/crt0-efi-ia32.S 2010-07-25 15:08:37.262534601 -0400 +@@ -18,6 +18,10 @@ + along with GNU EFI; see the file COPYING. If not, write to the Free + Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. */ ++ ++ #if defined(__linux__) && defined(__ELF__) ++ .section .note.GNU-stack,"",%progbits ++ #endif + + .text + .align 4 diff --git a/sys-boot/gnu-efi/gnu-efi-3.0i-r1.ebuild b/sys-boot/gnu-efi/gnu-efi-3.0i-r1.ebuild new file mode 100644 index 0000000..b1f19dd --- /dev/null +++ b/sys-boot/gnu-efi/gnu-efi-3.0i-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/gnu-efi/gnu-efi-3.0i.ebuild,v 1.2 2010/07/24 15:40:51 armin76 Exp $ + +inherit eutils toolchain-funcs + +MY_P="${PN}_${PV}" + +DESCRIPTION="Library for build EFI Applications" +HOMEPAGE="http://developer.intel.com/technology/efi" +SRC_URI="mirror://sourceforge/gnu-efi/${MY_P}.orig.tar.gz" +SRC_URI="${SRC_URI} mirror://debian/pool/main/g/gnu-efi/gnu-efi_3.0i-2.diff.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ia64 ~x86" +IUSE="" + +DEPEND="dev-util/patchutils + sys-apps/pciutils" + +src_unpack() { + unpack ${A} + cd "${S}" + + #epatch "${FILESDIR}"/${P}-stack.diff + ebegin Applying ../*.diff + # Using epatch on this is annoying because it wants to create the elilo-3.6/ + # directory. Since all the files are new, it doesn't know better. + filterdiff -p1 -i debian/\* ../*.diff | patch -s -p1 + eend $? || return +} + +src_compile() { + local iarch + case $ARCH in + ia64) iarch=ia64 ;; + x86) iarch=ia32 ;; + amd64) iarch=x86_64 ;; + *) die "unknown architecture: $ARCH" ;; + esac + emake CC="$(tc-getCC)" ARCH=${iarch} -j1 || die "emake failed" +} + +src_install() { + make install INSTALLROOT="${D}"/usr || die "install failed" + dodoc README* ChangeLog +} -- cgit v1.2.3-65-gdbad