commit:     b8a4109655d335052fff129b206061ecb5ad845a
Author:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
AuthorDate: Mon Apr  6 18:40:41 2020 +0000
Commit:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
CommitDate: Mon Apr  6 18:42:10 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8a41096

sys-power/bbswitch-0.8-r3: kernel 5.6 support; $CC fixes.

Closes: https://bugs.gentoo.org/715500
Closes: https://bugs.gentoo.org/702730
Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org>

 ...bbswitch-9999.ebuild => bbswitch-0.8-r3.ebuild} | 13 +++---
 sys-power/bbswitch/bbswitch-9999.ebuild            | 11 +++--
 .../bbswitch/files/bbswitch-0.8-kernel-5.6.patch   | 52 ++++++++++++++++++++++
 3 files changed, 67 insertions(+), 9 deletions(-)

diff --git a/sys-power/bbswitch/bbswitch-9999.ebuild 
b/sys-power/bbswitch/bbswitch-0.8-r3.ebuild
similarity index 78%
copy from sys-power/bbswitch/bbswitch-9999.ebuild
copy to sys-power/bbswitch/bbswitch-0.8-r3.ebuild
index ad44354463c..90af8d53240 100644
--- a/sys-power/bbswitch/bbswitch-9999.ebuild
+++ b/sys-power/bbswitch/bbswitch-0.8-r3.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
-inherit linux-mod
+inherit linux-mod toolchain-funcs
 
 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" )
+       PATCHES=(
+               "${FILESDIR}/${PN}-0.8-kernel-4.12.patch"
+               "${FILESDIR}/${PN}-0.8-kernel-5.6.patch"
+       )
        
SRC_URI="https://github.com/Bumblebee-Project/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-       KEYWORDS="~amd64 ~x86"
+       KEYWORDS="amd64 x86"
 fi
 
 DESCRIPTION="Toggle discrete NVIDIA Optimus graphics card"
@@ -34,7 +37,7 @@ pkg_setup() {
        linux-mod_pkg_setup
 
        BUILD_TARGETS="default"
-       BUILD_PARAMS="KVERSION=${KV_FULL}"
+       BUILD_PARAMS="KVERSION=${KV_FULL} CC=$(tc-getCC)"
 }
 
 src_prepare() {

diff --git a/sys-power/bbswitch/bbswitch-9999.ebuild 
b/sys-power/bbswitch/bbswitch-9999.ebuild
index ad44354463c..7efe9cf7ccd 100644
--- a/sys-power/bbswitch/bbswitch-9999.ebuild
+++ b/sys-power/bbswitch/bbswitch-9999.ebuild
@@ -1,16 +1,19 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
-inherit linux-mod
+inherit linux-mod toolchain-funcs
 
 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" )
+       PATCHES=(
+               "${FILESDIR}/${PN}-0.8-kernel-4.12.patch"
+               "${FILESDIR}/${PN}-0.8-kernel-5.6.patch"
+       )
        
SRC_URI="https://github.com/Bumblebee-Project/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
        KEYWORDS="~amd64 ~x86"
 fi
@@ -34,7 +37,7 @@ pkg_setup() {
        linux-mod_pkg_setup
 
        BUILD_TARGETS="default"
-       BUILD_PARAMS="KVERSION=${KV_FULL}"
+       BUILD_PARAMS="KVERSION=${KV_FULL} CC=$(tc-getCC)"
 }
 
 src_prepare() {

diff --git a/sys-power/bbswitch/files/bbswitch-0.8-kernel-5.6.patch 
b/sys-power/bbswitch/files/bbswitch-0.8-kernel-5.6.patch
new file mode 100644
index 00000000000..aa95a21cdb0
--- /dev/null
+++ b/sys-power/bbswitch/files/bbswitch-0.8-kernel-5.6.patch
@@ -0,0 +1,52 @@
+From c2f808efeb0820edf23dbb66362ad3091321253f Mon Sep 17 00:00:00 2001
+From: Mateusz Mandera <mateusz.mand...@protonmail.com>
+Date: Tue, 31 Mar 2020 15:11:30 +0200
+Subject: [PATCH] Use proc_ops structure for kernel version >= 5.6.0
+
+Since 5.6.0, proc_create requires a proc_ops* argument
+instead of file_operations*.
+---
+ bbswitch.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/bbswitch.c b/bbswitch.c
+index d64cdae..9ca0e42 100644
+--- a/bbswitch.c
++++ b/bbswitch.c
+@@ -42,6 +42,9 @@
+ #include <linux/suspend.h>
+ #include <linux/seq_file.h>
+ #include <linux/pm_runtime.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#include <linux/proc_fs.h>
++#endif
+ 
+ #define BBSWITCH_VERSION "0.8"
+ 
+@@ -382,6 +385,15 @@ static int bbswitch_pm_handler(struct notifier_block *nbp,
+     return 0;
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static struct proc_ops bbswitch_fops = {
++    .proc_open   = bbswitch_proc_open,
++    .proc_read   = seq_read,
++    .proc_write  = bbswitch_proc_write,
++    .proc_lseek = seq_lseek,
++    .proc_release= single_release
++};
++#else
+ static struct file_operations bbswitch_fops = {
+     .open   = bbswitch_proc_open,
+     .read   = seq_read,
+@@ -389,6 +401,7 @@ static struct file_operations bbswitch_fops = {
+     .llseek = seq_lseek,
+     .release= single_release
+ };
++#endif
+ 
+ static struct notifier_block nb = {
+     .notifier_call = &bbswitch_pm_handler
+-- 
+2.26.0
+

Reply via email to