# Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: /home/cvsroot/gentoo-x86/net-misc/nforce-net/nforce-net-1.0.0256.ebuild,v 1.7 2003/09/05 22:01:49 msterret Exp $ inherit gcc NV_V="${PV/1.0./1.0-}" NV_PACKAGE="NVIDIA_nforce-${NV_V}" S="${WORKDIR}/nforce" DESCRIPTION="Linux kernel module for the NVIDIA's nForce network chip" HOMEPAGE="http://www.nvidia.com/" SRC_URI="http://download.nvidia.com/XFree86/nforce/${NV_V}/${NV_PACKAGE}.tar.gz" # The SLOT needs to be set to $KV to prevent unmerges of modules for other kernels LICENSE="NVIDIA" SLOT="${KV}" KEYWORDS="-* x86" RESTRICT="nostrip" DEPEND="virtual/linux-sources" check_version_h() { if [ ! -f "${ROOT}/usr/src/linux/include/linux/version.h" ] then eerror "Please verify that your /usr/src/linux symlink is pointing" eerror "to your current kernel sources, and that you did run:" eerror eerror " # make dep" die "/usr/src/linux symlink not setup!" fi } get_KV_info() { check_version_h # Get the kernel version of sources in /usr/src/linux ... export KV_full="$(awk '/UTS_RELEASE/ { gsub("\"", "", $3); print $3 }' \ "${ROOT}/usr/src/linux/include/linux/version.h")" export KV_major="$(echo "${KV_full}" | cut -d. -f1)" export KV_minor="$(echo "${KV_full}" | cut -d. -f2)" export KV_micro="$(echo "${KV_full}" | cut -d. -f3 | sed -e 's:[^0-9].*::')" } is_2_5_kernel() { get_KV_info if [ "${KV_major}" -eq 2 -a "${KV_minor}" -eq 5 ] then return 0 else return 1 fi } is_2_6_kernel() { get_KV_info if [ "${KV_major}" -eq 2 -a "${KV_minor}" -eq 6 ] then return 0 else return 1 fi } src_compile() { check_KV cd ${S}/nvnet get_KV_info einfo "Linux kernel ${KV_major}.${KV_minor}.${KV_micro}" if is_2_5_kernel || is_2_6_kernel then EPATCH_SINGLE_MSG="Applying 2.5/6 patch ..." \ epatch ${FILESDIR}/nvnet.2.5-1.diff fi make KERNSRC="/usr/src/linux" || die } src_install() { # The driver goes into the standard modules location insinto /lib/modules/${KV}/kernel/drivers/net if is_2_5_kernel || is_2_6_kernel then doins nvnet/nvnet.ko else doins nvnet/nvnet.o fi # Docs dodoc ${S}/ReleaseNotes.html } pkg_postinst() { if [ "${ROOT}" = "/" ] then # Update module dependency [ -x /usr/sbin/update-modules ] && /usr/sbin/update-modules fi echo einfo "You need to add \"nvnet\" to your /etc/modules.autoload to load" einfo "this module when the system is started. Alternatively, you can" einfo "use the 'hotplug' package ('emerge hotplug' then 'rc-update add" einfo "hotplug default') to auto-detect and load \"nvnet\" on startup." }