summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/bumblebee-libre/PKGBUILD15
-rw-r--r--libre/bumblebee-libre/libre.patch130
2 files changed, 142 insertions, 3 deletions
diff --git a/libre/bumblebee-libre/PKGBUILD b/libre/bumblebee-libre/PKGBUILD
index 833069ff2..aff067a94 100644
--- a/libre/bumblebee-libre/PKGBUILD
+++ b/libre/bumblebee-libre/PKGBUILD
@@ -4,7 +4,7 @@
_pkgname=bumblebee
pkgname=bumblebee-libre
pkgver=3.1
-pkgrel=5
+pkgrel=5.1
pkgdesc="NVIDIA Optimus support for GNU/Linux through VirtualGL, without nonfree nvidia driver support"
arch=('i686' 'x86_64')
depends=('virtualgl' 'libbsd' 'glib2' 'mesa-libgl')
@@ -24,12 +24,21 @@ license=("GPL3")
install='bumblebee.install'
backup=('etc/bumblebee/bumblebee.conf'
'etc/bumblebee/xorg.conf.nouveau')
-source=("http://www.bumblebee-project.org/${_pkgname}-${pkgver}.tar.gz")
-md5sums=('de515ef51b1e0714c2f1b2a95f83e77e')
+source=("http://www.bumblebee-project.org/${_pkgname}-${pkgver}.tar.gz"
+ 'libre.patch')
+md5sums=('de515ef51b1e0714c2f1b2a95f83e77e'
+ 'f8b6044310039911236f53a625c611a6')
build() {
cd "${srcdir}/${_pkgname}-${pkgver}"
+ # Remove nonfree references to nonfree nvidia driver and unnecessaries files
+ rm -rv "README.markdown"
+ rm -rv "conf/"{99-remove-nvidia-dev.rules,xorg.conf.nvidia}
+ rm -rv "doc"
+ rm -rv "scripts/bumblebee-bugreport.in"
+ patch -Np1 -i "${srcdir}/libre.patch"
+
./configure \
CONF_DRIVER=nouveau \
--prefix=/usr \
diff --git a/libre/bumblebee-libre/libre.patch b/libre/bumblebee-libre/libre.patch
new file mode 100644
index 000000000..0952b1d11
--- /dev/null
+++ b/libre/bumblebee-libre/libre.patch
@@ -0,0 +1,130 @@
+diff -Nur bumblebee-3.1.orig/Makefile.am bumblebee-3.1/Makefile.am
+--- bumblebee-3.1.orig/Makefile.am 2013-02-24 21:29:35.055167554 -0200
++++ bumblebee-3.1/Makefile.am 2013-04-06 07:25:37.798457580 -0300
+@@ -1,7 +1,6 @@
+ # -*- Makefile -*-
+
+ GITVERSION = $(shell "$(top_srcdir)/version.sh" "$(top_srcdir)")
+-relnotes = doc/RELEASE_NOTES_3_1
+
+ bumblebeedconfdir=$(sysconfdir)/bumblebee
+
+@@ -19,19 +18,12 @@
+ noinst_SCRIPTS += scripts/sysvinit/bumblebeed
+ endif
+
+-bin_SCRIPTS = scripts/bumblebee-bugreport
+-
+ CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS)
+ EXTRA_DIST = scripts/systemd/bumblebeed.service.in \
+ scripts/upstart/bumblebeed.conf.in \
+- conf/99-remove-nvidia-dev.rules \
+ conf/bumblebee.conf.in \
+- conf/xorg.conf.nvidia \
+ conf/xorg.conf.nouveau \
+- README.markdown \
+ scripts/bash_completion/bumblebee \
+- scripts/bumblebee-bugreport.in \
+- $(relnotes) \
+ version.sh
+ # for laziness include all headers found
+ EXTRA_DIST += src/*.h src/*/switching.h
+@@ -52,8 +44,7 @@
+ src/driver.c src/bumblebeed.c
+ bin_bumblebeed_LDADD = ${x11_LIBS} ${libbsd_LIBS} ${glib_LIBS} -lrt
+
+-dist_doc_DATA = $(relnotes) README.markdown
+-bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau conf/xorg.conf.nvidia
++bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau
+
+ completiondir = $(sysconfdir)/bash_completion.d
+ completion_DATA = scripts/bash_completion/bumblebee
+@@ -91,10 +82,6 @@
+ mkdir -p scripts/systemd
+ $(do_subst) < $< > $@
+
+-scripts/bumblebee-bugreport: $(srcdir)/scripts/bumblebee-bugreport.in
+- mkdir -p scripts
+- $(do_subst) < $< > $@
+-
+ if WITH_PIDFILE
+ scripts/sysvinit/bumblebeed: $(srcdir)/scripts/sysvinit/bumblebeed.in
+ mkdir -p scripts/sysvinit
+diff -Nur bumblebee-3.1.orig/Makefile.in bumblebee-3.1/Makefile.in
+--- bumblebee-3.1.orig/Makefile.in 2013-02-24 21:34:57.103561881 -0200
++++ bumblebee-3.1/Makefile.in 2013-04-06 07:23:01.600417658 -0300
+@@ -315,7 +315,6 @@
+ x11_CFLAGS = @x11_CFLAGS@
+ x11_LIBS = @x11_LIBS@
+ GITVERSION = $(shell "$(top_srcdir)/version.sh" "$(top_srcdir)")
+-relnotes = doc/RELEASE_NOTES_3_1
+ bumblebeedconfdir = $(sysconfdir)/bumblebee
+ AM_CPPFLAGS = ${regular_CPPFLAGS} \
+ -DCONFIG_FILE='"$(bumblebeedconfdir)/bumblebee.conf"' \
+@@ -327,16 +326,15 @@
+
+ noinst_SCRIPTS = scripts/systemd/bumblebeed.service \
+ scripts/upstart/bumblebeed.conf $(am__append_1)
+-bin_SCRIPTS = scripts/bumblebee-bugreport
+ CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS) \
+ $(am__append_3)
+ # for laziness include all headers found
+ EXTRA_DIST = scripts/systemd/bumblebeed.service.in \
+ scripts/upstart/bumblebeed.conf.in \
+- conf/99-remove-nvidia-dev.rules conf/bumblebee.conf.in \
+- conf/xorg.conf.nvidia conf/xorg.conf.nouveau README.markdown \
++ conf/bumblebee.conf.in \
++ conf/xorg.conf.nouveau \
+ scripts/bash_completion/bumblebee \
+- scripts/bumblebee-bugreport.in $(relnotes) version.sh src/*.h \
++ scripts/bumblebee-bugreport.in version.sh src/*.h \
+ src/*/switching.h $(am__append_2)
+ bin_optirun_SOURCES = src/module.c src/bbconfig.c src/bblogger.c src/bbrun.c \
+ src/bbsocket.c src/driver.c src/optirun.c src/bbsocketclient.c
+@@ -348,12 +346,9 @@
+ src/driver.c src/bumblebeed.c
+
+ bin_bumblebeed_LDADD = ${x11_LIBS} ${libbsd_LIBS} ${glib_LIBS} -lrt
+-dist_doc_DATA = $(relnotes) README.markdown
+-bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau conf/xorg.conf.nvidia
++bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau
+ completiondir = $(sysconfdir)/bash_completion.d
+ completion_DATA = scripts/bash_completion/bumblebee
+-@WITH_UDEV_RULES_TRUE@udevrulesdir = $(UDEV_RULES_DIR)
+-@WITH_UDEV_RULES_TRUE@udevrules_DATA = conf/99-remove-nvidia-dev.rules
+ do_subst = sed -e 's|[@]GITVERSION[@]|$(GITVERSION)|g' \
+ -e 's|[@]CONF_XDISP[@]|$(CONF_XDISP)|g' \
+ -e 's|[@]CONF_SOCKPATH[@]|$(CONF_SOCKPATH)|g' \
+diff -Nur bumblebee-3.1.orig/conf/bumblebee.conf.in bumblebee-3.1/conf/bumblebee.conf.in
+--- bumblebee-3.1.orig/conf/bumblebee.conf.in 2013-02-21 17:03:35.526542613 -0200
++++ bumblebee-3.1/conf/bumblebee.conf.in 2013-04-06 06:28:48.124159386 -0300
+@@ -17,8 +17,8 @@
+ # be ignored.
+ NoEcoModeOverride=false
+ # The Driver used by Bumblebee server. If this value is not set (or empty),
+-# auto-detection is performed. The available drivers are nvidia and nouveau
+-# (See also the driver-specific sections below)
++# auto-detection is performed. The available driver is nouveau
++# (See also the driver-specific section below)
+ Driver=@CONF_DRIVER@
+
+ ## Client options. Will take effect on the next optirun executed.
+@@ -44,18 +44,6 @@
+ # none - disable PM completely
+ # https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods
+
+-## Section with nvidia driver specific options, only parsed if Driver=nvidia
+-[driver-nvidia]
+-# Module name to load, defaults to Driver if empty or unset
+-KernelDriver=@CONF_DRIVER_MODULE_NVIDIA@
+-PMMethod=@CONF_PM_METHOD@
+-# colon-separated path to the nvidia libraries
+-LibraryPath=@CONF_LDPATH_NVIDIA@
+-# comma-separated path of the directory containing nvidia_drv.so and the
+-# default Xorg modules path
+-XorgModulePath=@CONF_MODPATH_NVIDIA@
+-XorgConfFile=@BBCONFDIR@/xorg.conf.nvidia
+-
+ ## Section with nouveau driver specific options, only parsed if Driver=nouveau
+ [driver-nouveau]
+ KernelDriver=nouveau