summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/bbswitch/0001-proc_ops-struct.patch36
-rw-r--r--libre/bbswitch/0002-kernel-5.7.patch11
-rw-r--r--libre/bbswitch/PKGBUILD18
-rw-r--r--pcr/bbswitch-lts/0001-proc_ops-struct.patch36
-rw-r--r--pcr/bbswitch-lts/0002-kernel-5.7.patch11
-rw-r--r--pcr/bbswitch-lts/PKGBUILD16
6 files changed, 121 insertions, 7 deletions
diff --git a/libre/bbswitch/0001-proc_ops-struct.patch b/libre/bbswitch/0001-proc_ops-struct.patch
new file mode 100644
index 000000000..c2b823ba0
--- /dev/null
+++ b/libre/bbswitch/0001-proc_ops-struct.patch
@@ -0,0 +1,36 @@
+diff --unified --recursive --text bbswitch-0.8.orig/bbswitch.c bbswitch-0.8.new/bbswitch.c
+--- bbswitch-0.8.orig/bbswitch.c 2013-12-04 21:22:06.000000000 -0200
++++ bbswitch-0.8.new/bbswitch.c 2020-04-01 12:02:35.518754892 -0300
+@@ -35,6 +35,7 @@
+ #include <linux/suspend.h>
+ #include <linux/seq_file.h>
+ #include <linux/pm_runtime.h>
++#include <linux/version.h>
+
+ #define BBSWITCH_VERSION "0.8"
+
+@@ -375,13 +376,23 @@
+ 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,
+ .write = bbswitch_proc_write,
+ .llseek = seq_lseek,
+ .release= single_release
+-};
++ };
++#endif
+
+ static struct notifier_block nb = {
+ .notifier_call = &bbswitch_pm_handler
diff --git a/libre/bbswitch/0002-kernel-5.7.patch b/libre/bbswitch/0002-kernel-5.7.patch
new file mode 100644
index 000000000..ef5428175
--- /dev/null
+++ b/libre/bbswitch/0002-kernel-5.7.patch
@@ -0,0 +1,11 @@
+diff -u -r bbswitch-0.8/bbswitch.c bbswitch-0.8-5.7/bbswitch.c
+--- bbswitch-0.8/bbswitch.c 2020-06-02 00:34:20.370571802 +0000
++++ bbswitch-0.8-5.7/bbswitch.c 2020-06-02 00:35:18.161403639 +0000
+@@ -29,6 +29,7 @@
+ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+ #include <linux/pci.h>
++#include <linux/proc_fs.h>
+ #include <linux/acpi.h>
+ #include <linux/module.h>
+ #include <asm/uaccess.h>
diff --git a/libre/bbswitch/PKGBUILD b/libre/bbswitch/PKGBUILD
index aa4d680a8..8b71925d5 100644
--- a/libre/bbswitch/PKGBUILD
+++ b/libre/bbswitch/PKGBUILD
@@ -5,12 +5,12 @@
# Contributor (Hyperbola): Márcio Silva <coadde@hyperbola.info>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
-_basekernel=5.5.13-1
+_basekernel=5.9.12
pkgbase=bbswitch
pkgname=(bbswitch bbswitch-dkms)
pkgver=0.8
-pkgrel=302
+pkgrel=369
pkgrel+=.parabola1.basekernel${_basekernel%-*}
pkgdesc="Kernel module allowing to switch dedicated graphics card on Optimus laptops"
pkgdesc+=" (built for the linux-libre kernel package)"
@@ -19,8 +19,17 @@ arch+=('i686')
url="http://github.com/Bumblebee-Project/bbswitch"
license=('GPL')
makedepends=(linux-libre-headers=${_basekernel%-*} git libelf)
-source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz")
-sha256sums=('76cabd3f734fb4fe6ebfe3ec9814138d0d6f47d47238521ecbd6a986b60d1477')
+source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz"
+ 0001-proc_ops-struct.patch 0002-kernel-5.7.patch)
+sha512sums=('11ab163931feb6c0e202d04c4552b848e999fedea9990390c26b28abdb4a69081ccfb5a22d1e390cc274f1c0cfc9adedc719c5fece14738b17aaa93e28865b7c'
+ '993a2895c37ea213c105be668f794af54838d8015d6f561ee6bc7ce65583425515931c83c2487ab97c14454105f233f089e8bdc90ea5ed9576be767335f57ad1'
+ '2eeae463b2f83e7744ff1a769cb6186389e026fc78668e836525dfd16a56abfae01cfb150c9bb46af74ec42e87ebea91636118fe0c773e7eaa7ea671b25d2e04')
+
+prepare() {
+ cd ${pkgbase}-${pkgver}
+ patch -Np1 < ../0001-proc_ops-struct.patch
+ patch -Np1 < ../0002-kernel-5.7.patch
+}
build() {
cd ${pkgbase}-${pkgver}
@@ -33,6 +42,7 @@ package_bbswitch() {
cd ${pkgbase}-${pkgver}
_extradir="/usr/lib/modules/$(</usr/src/linux-libre/version)/extramodules"
install -Dt "${pkgdir}${_extradir}" -m644 *.ko
+ find "${pkgdir}" -name '*.ko' -exec strip --strip-debug {} +
find "${pkgdir}" -name '*.ko' -exec xz {} +
}
diff --git a/pcr/bbswitch-lts/0001-proc_ops-struct.patch b/pcr/bbswitch-lts/0001-proc_ops-struct.patch
new file mode 100644
index 000000000..c2b823ba0
--- /dev/null
+++ b/pcr/bbswitch-lts/0001-proc_ops-struct.patch
@@ -0,0 +1,36 @@
+diff --unified --recursive --text bbswitch-0.8.orig/bbswitch.c bbswitch-0.8.new/bbswitch.c
+--- bbswitch-0.8.orig/bbswitch.c 2013-12-04 21:22:06.000000000 -0200
++++ bbswitch-0.8.new/bbswitch.c 2020-04-01 12:02:35.518754892 -0300
+@@ -35,6 +35,7 @@
+ #include <linux/suspend.h>
+ #include <linux/seq_file.h>
+ #include <linux/pm_runtime.h>
++#include <linux/version.h>
+
+ #define BBSWITCH_VERSION "0.8"
+
+@@ -375,13 +376,23 @@
+ 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,
+ .write = bbswitch_proc_write,
+ .llseek = seq_lseek,
+ .release= single_release
+-};
++ };
++#endif
+
+ static struct notifier_block nb = {
+ .notifier_call = &bbswitch_pm_handler
diff --git a/pcr/bbswitch-lts/0002-kernel-5.7.patch b/pcr/bbswitch-lts/0002-kernel-5.7.patch
new file mode 100644
index 000000000..ef5428175
--- /dev/null
+++ b/pcr/bbswitch-lts/0002-kernel-5.7.patch
@@ -0,0 +1,11 @@
+diff -u -r bbswitch-0.8/bbswitch.c bbswitch-0.8-5.7/bbswitch.c
+--- bbswitch-0.8/bbswitch.c 2020-06-02 00:34:20.370571802 +0000
++++ bbswitch-0.8-5.7/bbswitch.c 2020-06-02 00:35:18.161403639 +0000
+@@ -29,6 +29,7 @@
+ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+ #include <linux/pci.h>
++#include <linux/proc_fs.h>
+ #include <linux/acpi.h>
+ #include <linux/module.h>
+ #include <asm/uaccess.h>
diff --git a/pcr/bbswitch-lts/PKGBUILD b/pcr/bbswitch-lts/PKGBUILD
index dca761fd7..5ff915a6a 100644
--- a/pcr/bbswitch-lts/PKGBUILD
+++ b/pcr/bbswitch-lts/PKGBUILD
@@ -6,7 +6,7 @@
# Contributor (Hyperbola): Márcio Silva <coadde@hyperbola.info>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
-_basekernel=4.19.97-1
+_basekernel=5.4.78
pkgname=bbswitch-lts
pkgver=0.8
@@ -19,8 +19,17 @@ arch+=('i686')
url="http://github.com/Bumblebee-Project/bbswitch"
license=('GPL')
makedepends=(linux-libre-lts-headers=${_basekernel%-*} git libelf)
-source=("${pkgname%-*}-$pkgver.tar.gz::https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz")
-sha256sums=('76cabd3f734fb4fe6ebfe3ec9814138d0d6f47d47238521ecbd6a986b60d1477')
+source=("${pkgname%-*}-$pkgver.tar.gz::https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz"
+ 0001-proc_ops-struct.patch 0002-kernel-5.7.patch)
+sha512sums=('11ab163931feb6c0e202d04c4552b848e999fedea9990390c26b28abdb4a69081ccfb5a22d1e390cc274f1c0cfc9adedc719c5fece14738b17aaa93e28865b7c'
+ '993a2895c37ea213c105be668f794af54838d8015d6f561ee6bc7ce65583425515931c83c2487ab97c14454105f233f089e8bdc90ea5ed9576be767335f57ad1'
+ '2eeae463b2f83e7744ff1a769cb6186389e026fc78668e836525dfd16a56abfae01cfb150c9bb46af74ec42e87ebea91636118fe0c773e7eaa7ea671b25d2e04')
+
+prepare() {
+ cd ${pkgname%-*}-${pkgver}
+ patch -Np1 < ../0001-proc_ops-struct.patch
+ patch -Np1 < ../0002-kernel-5.7.patch
+}
build() {
cd ${pkgname%-*}-${pkgver}
@@ -33,6 +42,7 @@ package() {
cd ${pkgname%-*}-${pkgver}
_extradir="/usr/lib/modules/$(</usr/src/linux-libre-lts/version)/extramodules"
install -Dt "${pkgdir}${_extradir}" -m644 *.ko
+ find "${pkgdir}" -name '*.ko' -exec strip --strip-debug {} +
find "${pkgdir}" -name '*.ko' -exec xz {} +
}