From d5702a506f6074eef248afc8cc20df6ebd68a1a6 Mon Sep 17 00:00:00 2001 From: Pacho Ramos Date: Fri, 19 Jun 2020 19:34:05 +0200 Subject: x11-misc/bumblebee: Fix building with gcc-10 Closes: https://bugs.gentoo.org/726116 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Pacho Ramos --- .../bumblebee/bumblebee-3.2.1_p20190421.ebuild | 5 ++ .../files/bumblebee-3.2.1_p20190421-gcc10.patch | 66 ++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 x11-misc/bumblebee/files/bumblebee-3.2.1_p20190421-gcc10.patch (limited to 'x11-misc') diff --git a/x11-misc/bumblebee/bumblebee-3.2.1_p20190421.ebuild b/x11-misc/bumblebee/bumblebee-3.2.1_p20190421.ebuild index ecedcc95c494..eb6477c36832 100644 --- a/x11-misc/bumblebee/bumblebee-3.2.1_p20190421.ebuild +++ b/x11-misc/bumblebee/bumblebee-3.2.1_p20190421.ebuild @@ -53,6 +53,11 @@ PDEPEND=" REQUIRED_USE="|| ( video_cards_nouveau video_cards_nvidia )" +PATCHES=( + # https://github.com/Bumblebee-Project/Bumblebee/issues/1058 + "${FILESDIR}/${P}-gcc10.patch" +) + pkg_setup() { enewgroup bumblebee } diff --git a/x11-misc/bumblebee/files/bumblebee-3.2.1_p20190421-gcc10.patch b/x11-misc/bumblebee/files/bumblebee-3.2.1_p20190421-gcc10.patch new file mode 100644 index 000000000000..7d02226521e4 --- /dev/null +++ b/x11-misc/bumblebee/files/bumblebee-3.2.1_p20190421-gcc10.patch @@ -0,0 +1,66 @@ +Author: Andreas Beckmann +Description: fix FTBFS with gcc-10 + gcc-10 defaults to -fno-common + see https://gcc.gnu.org/gcc-10/porting_to.html +Bug-Debian: https://bugs.debian.org/957058 + +--- a/src/bbconfig.h ++++ b/src/bbconfig.h +@@ -103,7 +103,7 @@ enum bb_pm_method { + PM_VGASWITCHEROO, + PM_METHODS_COUNT /* not a method but a marker for the end */ + }; +-const char *bb_pm_method_string[PM_METHODS_COUNT]; ++extern const char *bb_pm_method_string[PM_METHODS_COUNT]; + + /* String buffer size */ + #define BUFFER_SIZE 1024 +--- a/src/switch/switching.h ++++ b/src/switch/switching.h +@@ -60,10 +60,10 @@ void switcheroo_off(void); + + /* number of switchers as defined in switching.c */ + #define SWITCHERS_COUNT 2 +-struct switching_method switching_methods[SWITCHERS_COUNT]; ++extern struct switching_method switching_methods[SWITCHERS_COUNT]; + + /* A switching method that can be used or NULL if none */ +-struct switching_method *switcher; ++extern struct switching_method *switcher; + + struct switching_method *switcher_detect(const char *name, struct switch_info); + enum switch_state switch_status(void); +--- a/src/bbsecondary.h ++++ b/src/bbsecondary.h +@@ -21,7 +21,7 @@ + #pragma once + + /* PCI Bus ID of the discrete video card */ +-struct pci_bus_id *pci_bus_id_discrete; ++extern struct pci_bus_id *pci_bus_id_discrete; + + /// Start the X server by fork-exec, turn card on if needed. + bool start_secondary(bool); +--- a/src/switch/switching.c ++++ b/src/switch/switching.c +@@ -31,6 +31,8 @@ struct switching_method switching_method + switcheroo_on, switcheroo_off} + }; + ++struct switching_method *switcher = NULL; ++ + /** + * Enumerates through available switching methods and try a method + * +--- a/src/bbsecondary.c ++++ b/src/bbsecondary.c +@@ -37,6 +37,9 @@ + #include "pci.h" + #include "module.h" + ++/* PCI Bus ID of the discrete video card */ ++struct pci_bus_id *pci_bus_id_discrete; ++ + /** + * Substitutes DRIVER in the passed path + * @param x_conf_file A path to be processed -- cgit v1.2.3-65-gdbad