diff options
Diffstat (limited to 'sys-freebsd/boot0/boot0-9.2.ebuild')
-rw-r--r-- | sys-freebsd/boot0/boot0-9.2.ebuild | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/sys-freebsd/boot0/boot0-9.2.ebuild b/sys-freebsd/boot0/boot0-9.2.ebuild new file mode 100644 index 000000000000..e075c5ccc6ea --- /dev/null +++ b/sys-freebsd/boot0/boot0-9.2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/boot0/boot0-9.2.ebuild,v 1.1 2013/11/09 09:15:50 aballier Exp $ + +EAPI=2 + +inherit bsdmk freebsd flag-o-matic toolchain-funcs + +DESCRIPTION="FreeBSD's bootloader" +SLOT="0" + +IUSE="bzip2 ieee1394 tftp zfs" + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" + SRC_URI="mirror://gentoo/${SYS}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2" +fi + +RDEPEND="" +DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}* + =sys-freebsd/freebsd-lib-${RV}*" + +S="${WORKDIR}/sys/boot" + +PATCHES=( "${FILESDIR}/${PN}-9.2-gcc46.patch" ) + +boot0_use_enable() { + use ${1} && mymakeopts="${mymakeopts} LOADER_${2}_SUPPORT=\"yes\"" +} + +pkg_setup() { + boot0_use_enable ieee1394 FIREWIRE + boot0_use_enable zfs ZFS + boot0_use_enable tftp TFTP + boot0_use_enable bzip2 BZIP2 +} + +src_prepare() { + sed -e '/-fomit-frame-pointer/d' -e '/-mno-align-long-strings/d' \ + -i "${S}"/i386/boot2/Makefile \ + -i "${S}"/i386/gptboot/Makefile \ + -i "${S}"/i386/gptzfsboot/Makefile \ + -i "${S}"/i386/zfsboot/Makefile || die +} + +src_compile() { + strip-flags + append-flags "-fno-strict-aliasing" + + cd "${WORKDIR}/lib/libstand" || die + freebsd_src_compile + + cd "${S}" + CFLAGS="${CFLAGS} -I${WORKDIR}/lib/libstand" + LDFLAGS="${LDFLAGS} -L${WORKDIR}/lib/libstand" + export LIBSTAND="${WORKDIR}/lib/libstand/libstand.a" + NOFLAGSTRIP="yes" freebsd_src_compile +} + +src_install() { + dodir /boot/defaults + mkinstall FILESDIR=/boot || die "mkinstall failed" + + cd "${WORKDIR}/sys/$(tc-arch-kernel)/conf" || die + insinto /boot + newins GENERIC.hints device.hints + + echo 'CONFIG_PROTECT="/boot/device.hints"' > "${T}"/50boot0 + doenvd "${T}"/50boot0 +} |