sys-apps/dkms-gentoo - 9999 (stuff)

Search

Install

Install this version:

emerge -a =sys-apps/dkms-gentoo-9999

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =sys-apps/dkms-gentoo-9999

Or alternatively:

emerge --autounmask-write -a =sys-apps/dkms-gentoo-9999

Package Information

Description:
DKMS analog for gentoo
Homepage:
https://github.com/megabaks/dkms-gentoo
License:
GPL-3

Ebuild Details

Version EAPI Keywords Slot
9999 9 0
View Raw Ebuild
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=9

inherit git-r3

DESCRIPTION="DKMS analog for gentoo"
HOMEPAGE="https://github.com/megabaks/dkms-gentoo"
EGIT_REPO_URI="https://github.com/megabaks/${PN}.git"

LICENSE="GPL-3"
SLOT="0"

RDEPEND="
	app-shells/bash
	sys-apps/gawk
	sys-apps/gentoo-functions
	sys-apps/openrc
	sys-apps/portage
"
DEPEND="${RDEPEND}"

src_prepare() {
	default
	sed -i '1s|#!/sbin/runscript|#!/sbin/openrc-run|' dkms-gentoo/dkms || die
	# Trunk sources isolated-functions.sh from /usr/lib*/portage/bin, which
	# portage no longer installs, so eend is undefined; use gentoo-functions.
	sed -i 's|^source /usr/lib\*/portage/bin/isolated-functions\.sh$|. /lib/gentoo/functions.sh|' \
		dkms-gentoo/dkms-gentoo || die
	grep -q '^\. /lib/gentoo/functions\.sh$' dkms-gentoo/dkms-gentoo ||
		die "dkms-gentoo no longer sources isolated-functions.sh; recheck"
}

src_install() {
	dosbin dkms-gentoo/dkms-gentoo
	newinitd dkms-gentoo/dkms dkms

	dodir /var/lib/portage
	DKMS_DB="${D}/var/lib/portage/dkms_db" "${D}"/usr/sbin/dkms-gentoo --db || die
	# The script ends its database run with an unchecked touch and eend 0.
	[[ -f ${D}/var/lib/portage/dkms_db ]] || die "dkms-gentoo --db did not create the database"
}

pkg_preinst() {
	# Keep the existing database across reinstalls.
	if [[ -f "${EROOT}/var/lib/portage/dkms_db" ]]; then
		cp "${EROOT}/var/lib/portage/dkms_db" \
			"${D}/var/lib/portage/dkms_db" || die
	fi
}

pkg_postinst() {
	[[ ! -f /etc/runlevels/*/dkms ]] && elog "Now you need run 'rc-update add dkms boot'"
}

Inherited Eclasses

Dependencies

DEPEND

	app-shells/bash
	sys-apps/gawk
	sys-apps/gentoo-functions
	sys-apps/openrc
	sys-apps/portage

RDEPEND

	app-shells/bash
	sys-apps/gawk
	sys-apps/gentoo-functions
	sys-apps/openrc
	sys-apps/portage