blob: 80ee893f92e3b1e857773d10e5127429c07fcc41 [file] [log] [blame]
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit bsdmk flag-o-matic
DESCRIPTION="Virtio drivers from FreeBSD Ports' emulators/virtio-kmod"
HOMEPAGE="http://www.freshports.org/emulators/virtio-kmod/"
SRC_URI="mirror://freebsd/ports/local-distfiles/kuriyama/virtio-${PV}.tar.gz"
SLOT="0"
KEYWORDS="~x86-fbsd ~amd64-fbsd"
IUSE="custom-cflags +debug"
LICENSE="BSD-2"
DEPEND=">=sys-freebsd/freebsd-sources-8.2
app-arch/cpio"
RDEPEND=""
QA_TEXTRELS="*"
RESTRICT="strip"
S="${WORKDIR}"
NEEDSUBDIRS="conf contrib dev/pci geom kern net netinet netinet6 sys tools vm
x86 i386 amd64"
src_unpack() {
default
CPIO_ARGS="-dump"
# When hardlinks are possible, use them to avoid copies when FEATURES=userpriv
test $UID != 0 && export CPIO_ARGS+=l
cd /usr/src/sys/
for d in $NEEDSUBDIRS; do
find $d ! -name @ | cpio --quiet "${CPIO_ARGS}" "${WORKDIR}"
done
}
src_compile() {
use debug && export DEBUG_FLAGS="-g"
use custom-cflags || strip-flags
append-cflags "-I${WORKDIR}"
cd "${WORKDIR}/modules/virtio"
mkmake SYSDIR="${WORKDIR}" LDFLAGS="$(raw-ldflags)" || die "mkmake failed"
}
src_install() {
# Upstream does not provide an install target
dodir /boot/modules
cp "${WORKDIR}"/modules/virtio/*/*.ko{,.symbols} "${ED}/boot/modules"
}
pkg_postinst() {
# Update linker.hints file
/usr/sbin/kldxref "${EPREFIX}/boot/modules"
# Print message from FreeBSD Ports
elog "$(cat "${FILESDIR}/pkg-message")"
}
pkg_postrm() {
# Update linker.hints file
/usr/sbin/kldxref "${EPREFIX}/boot/modules"
}