diff options
Diffstat (limited to 'libre/bumblebee-libre')
-rw-r--r-- | libre/bumblebee-libre/PKGBUILD | 60 | ||||
-rw-r--r-- | libre/bumblebee-libre/bumblebee.install | 16 | ||||
-rw-r--r-- | libre/bumblebee-libre/libre.patch | 130 |
3 files changed, 206 insertions, 0 deletions
diff --git a/libre/bumblebee-libre/PKGBUILD b/libre/bumblebee-libre/PKGBUILD new file mode 100644 index 000000000..aff067a94 --- /dev/null +++ b/libre/bumblebee-libre/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> + +_pkgname=bumblebee +pkgname=bumblebee-libre +pkgver=3.1 +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') +optdepends=('xf86-video-nouveau: nouveau driver' + 'nouveau-dri: 3D acceleration features of nouveau' + 'bbswitch: switch on/off discrete card' + 'primus: faster back-end for optirun') +if [ "$CARCH" = "x86_64" ]; then + optdepends[${#optdepends[@]}]='lib32-virtualgl: run 32bit applications with optirun' + optdepends[${#optdepends[@]}]='lib32-primus: faster back-end for optirun' +fi +replaces=('bumblebee') +conflicts=('bumblebee' 'nvidia-libgl') +provides=("bumblebee=$pkgver"'nvidia-libgl') +url="http://www.bumblebee-project.org" +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" + '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 \ + --sysconfdir=/etc + + make +} + +package() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + make install DESTDIR="$pkgdir" + + # Install systemd unit + install -D -m644 "scripts/systemd/bumblebeed.service" "${pkgdir}/usr/lib/systemd/system/bumblebeed.service" + + # Make bash_completion work + mv -v "${pkgdir}/etc/bash_completion.d/bumblebee" "${pkgdir}/etc/bash_completion.d/optirun" +} diff --git a/libre/bumblebee-libre/bumblebee.install b/libre/bumblebee-libre/bumblebee.install new file mode 100644 index 000000000..57aed6cc5 --- /dev/null +++ b/libre/bumblebee-libre/bumblebee.install @@ -0,0 +1,16 @@ +_notice() { + echo "Don't forget to add yourself to the 'bumblebee' group to use Bumblebee" +} + +post_upgrade() { + getent group "bumblebee" &>/dev/null || groupadd -r bumblebee +} + +post_remove() { + getent group "bumblebee" &>/dev/null && groupdel bumblebee 1>/dev/null +} + +post_install() { + post_upgrade + _notice +} 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 |