| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=2 |
| |
| inherit bsdmk freebsd flag-o-matic |
| |
| DESCRIPTION="FreeBSD's bootloader" |
| SLOT="0" |
| KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" |
| |
| IUSE="bzip2 ieee1394 tftp zfs" |
| |
| SRC_URI="mirror://gentoo/${SYS}.tar.bz2 |
| mirror://gentoo/${LIB}.tar.bz2 |
| mirror://gentoo/${CONTRIB}.tar.bz2" |
| |
| RDEPEND="" |
| DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}* |
| =sys-freebsd/freebsd-lib-${RV}*" |
| |
| S="${WORKDIR}/sys/boot" |
| |
| PATCHES=( "${FILESDIR}/${PN}-9.2-gcc46.patch" |
| "${FILESDIR}/${PN}-add-nossp-cflags.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" |
| } |