summaryrefslogtreecommitdiff
path: root/sys-freebsd/virtio-kmod/virtio-kmod-0.228301-r1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-freebsd/virtio-kmod/virtio-kmod-0.228301-r1.ebuild')
-rw-r--r--sys-freebsd/virtio-kmod/virtio-kmod-0.228301-r1.ebuild70
1 files changed, 70 insertions, 0 deletions
diff --git a/sys-freebsd/virtio-kmod/virtio-kmod-0.228301-r1.ebuild b/sys-freebsd/virtio-kmod/virtio-kmod-0.228301-r1.ebuild
new file mode 100644
index 000000000000..841048382ed4
--- /dev/null
+++ b/sys-freebsd/virtio-kmod/virtio-kmod-0.228301-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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"
+}