--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit linux-mod
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Bumblebee-Project/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ PATCHES=( "${FILESDIR}/${PN}-0.8-kernel-4.12.patch" )
+ SRC_URI="https://github.com/Bumblebee-Project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Toggle discrete NVIDIA Optimus graphics card"
+HOMEPAGE="https://github.com/Bumblebee-Project/bbswitch"
+
+SLOT="0"
+LICENSE="GPL-3+"
+IUSE=""
+
+DEPEND="
+ virtual/linux-sources
+ sys-kernel/linux-headers
+"
+RDEPEND=""
+
+MODULE_NAMES="bbswitch(acpi)"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ BUILD_TARGETS="default"
+ BUILD_PARAMS="KVERSION=${KV_FULL}"
+}
+
+src_prepare() {
+ # Fix build failure, bug #513542
+ sed -i 's/^KDIR.*$/KDIR\ \:= \/usr\/src\/linux/g' Makefile || die
+
+ default
+}
+
+src_install() {
+ einstalldocs
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/bbswitch.modprobe bbswitch.conf
+
+ linux-mod_src_install
+}
--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit linux-mod
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Bumblebee-Project/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ PATCHES=( "${FILESDIR}/${PN}-0.8-kernel-4.12.patch" )
+ SRC_URI="https://github.com/Bumblebee-Project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Toggle discrete NVIDIA Optimus graphics card"
+HOMEPAGE="https://github.com/Bumblebee-Project/bbswitch"
+
+SLOT="0"
+LICENSE="GPL-3+"
+IUSE=""
+
+DEPEND="
+ virtual/linux-sources
+ sys-kernel/linux-headers
+"
+RDEPEND=""
+
+MODULE_NAMES="bbswitch(acpi)"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ BUILD_TARGETS="default"
+ BUILD_PARAMS="KVERSION=${KV_FULL}"
+}
+
+src_prepare() {
+ # Fix build failure, bug #513542
+ sed -i 's/^KDIR.*$/KDIR\ \:= \/usr\/src\/linux/g' Makefile || die
+
+ default
+}
+
+src_install() {
+ einstalldocs
+
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/bbswitch.modprobe bbswitch.conf
+
+ linux-mod_src_install
+}
--- /dev/null
+diff -uNr bbswitch-0.8/bbswitch.c bbswitch-0.8-new/bbswitch.c
+--- bbswitch-0.8/bbswitch.c 2013-12-04 18:22:06.000000000 -0500
++++ bbswitch-0.8-new/bbswitch.c 2017-07-08 01:11:54.588545766 -0400
+@@ -31,7 +31,14 @@
+ #include <linux/pci.h>
+ #include <linux/acpi.h>
+ #include <linux/module.h>
++#include <linux/version.h>
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0)
++#include <linux/uaccess.h>
++#else
+ #include <asm/uaccess.h>
++#endif
++
+ #include <linux/suspend.h>
+ #include <linux/seq_file.h>
+ #include <linux/pm_runtime.h>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription>
- Kernel module which automatically detects the required ACPI calls for two
- kinds of Optimus laptops for safe disabling/enabling the discrete graphics card.
+ Kernel module which automatically detects the required ACPI calls for two
+ kinds of Optimus laptops for safe disabling/enabling the discrete graphics card.
</longdescription>
<upstream>
<remote-id type="github">Bumblebee-Project/bbswitch</remote-id>