diff options
Diffstat (limited to 'libre/bumblebee')
-rw-r--r-- | libre/bumblebee/PKGBUILD | 67 | ||||
-rw-r--r-- | libre/bumblebee/bumblebee.install | 16 | ||||
-rw-r--r-- | libre/bumblebee/libre.patch | 154 |
3 files changed, 237 insertions, 0 deletions
diff --git a/libre/bumblebee/PKGBUILD b/libre/bumblebee/PKGBUILD new file mode 100644 index 000000000..964fcf020 --- /dev/null +++ b/libre/bumblebee/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com> +# Maintainer: André Silva <emulatorman@parabola.nu> + +pkgname=bumblebee +pkgver=3.2.1 +pkgrel=3.parabola1 +pkgdesc="NVIDIA Optimus support for GNU/Linux through VirtualGL, without nonfree nvidia driver support" +arch=('i686' 'x86_64' 'mips64el') +depends=('virtualgl' 'glib2' 'mesa-libgl') +makedepends=('help2man') +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=("$pkgname-libre" 'nvidia-libgl') +conflicts=("$pkgname-libre" 'nvidia-libgl') +provides=('nvidia-libgl') +url="http://www.$pkgname-project.org" +license=("GPL3") +install="$pkgname.install" +backup=("etc/$pkgname/$pkgname.conf" + "etc/$pkgname/xorg.conf.nouveau") +source=("http://www.$pkgname-project.org/${pkgname}-${pkgver}.tar.gz" + 'libre.patch') +md5sums=('30974e677bb13e8a3825fd6f3e7d3b24' + '1daed1e00f74538add6c435dfa0569d1') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Remove nonfree references to nonfree nvidia driver and unnecessaries files + rm -rv "README.markdown" + rm -rv "conf/"{99-$pkgname-nvidia-dev.rules,xorg.conf.nvidia} + rm -rv "doc" + rm -rv "scripts/$pkgname-bugreport.in" + patch -Np1 -i "${srcdir}/libre.patch" +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure \ + CONF_DRIVER=nouveau \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --without-pidfile + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make install DESTDIR="$pkgdir" + + # Install systemd unit + install -D -m644 "scripts/systemd/${pkgname}d.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}d.service" + sed -i "s/sbin/bin/" "${pkgdir}/usr/lib/systemd/system/${pkgname}d.service" + + # Make bash_completion work + mv -v "${pkgdir}/etc/bash_completion.d/$pkgname" "${pkgdir}/etc/bash_completion.d/optirun" +} diff --git a/libre/bumblebee/bumblebee.install b/libre/bumblebee/bumblebee.install new file mode 100644 index 000000000..57aed6cc5 --- /dev/null +++ b/libre/bumblebee/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.patch b/libre/bumblebee/libre.patch new file mode 100644 index 000000000..81d49ca33 --- /dev/null +++ b/libre/bumblebee/libre.patch @@ -0,0 +1,154 @@ +diff -Nur bumblebee-3.2.1.orig/Makefile.am bumblebee-3.2.1/Makefile.am +--- bumblebee-3.2.1.orig/Makefile.am 2013-04-26 12:49:03.022174178 -0300 ++++ bumblebee-3.2.1/Makefile.am 2013-04-28 17:08:11.719589284 -0300 +@@ -1,7 +1,6 @@ + # -*- Makefile -*- + + GITVERSION = $(shell "$(top_srcdir)/version.sh" "$(top_srcdir)") +-relnotes = doc/RELEASE_NOTES_3_2_1 + + bumblebeedconfdir=$(sysconfdir)/bumblebee + +@@ -20,23 +19,16 @@ + noinst_SCRIPTS += scripts/sysvinit/bumblebeed + endif + +-bin_SCRIPTS = scripts/bumblebee-bugreport +- + xconfddir = $(bumblebeedconfdir)/xorg.conf.d + xconfd_DATA = conf/xorg.conf.d/10-dummy.conf + + CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS) + EXTRA_DIST = scripts/systemd/bumblebeed.service.in \ + scripts/upstart/bumblebeed.conf.in \ +- conf/99-bumblebee-nvidia-dev.rules \ + conf/bumblebee.conf.in \ +- conf/xorg.conf.nvidia \ + conf/xorg.conf.nouveau \ + $(xconfd_DATA) \ +- 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 +@@ -57,17 +49,11 @@ + 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 + +-if WITH_UDEV_RULES +-udevrulesdir = $(UDEV_RULES_DIR) +-udevrules_DATA = conf/99-bumblebee-nvidia-dev.rules +-endif +- + do_subst = sed -e 's|[@]GITVERSION[@]|$(GITVERSION)|g' \ + -e 's|[@]CONF_XDISP[@]|$(CONF_XDISP)|g' \ + -e 's|[@]CONF_SOCKPATH[@]|$(CONF_SOCKPATH)|g' \ +@@ -97,10 +83,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.2.1.orig/Makefile.in bumblebee-3.2.1/Makefile.in +--- bumblebee-3.2.1.orig/Makefile.in 2013-04-26 12:49:11.306174579 -0300 ++++ bumblebee-3.2.1/Makefile.in 2013-04-28 17:21:38.698898621 -0300 +@@ -220,7 +220,6 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ +-UDEV_RULES_DIR = @UDEV_RULES_DIR@ + VERSION = @VERSION@ + abs_builddir = @abs_builddir@ + abs_srcdir = @abs_srcdir@ +@@ -273,7 +272,6 @@ + x11_CFLAGS = @x11_CFLAGS@ + x11_LIBS = @x11_LIBS@ + GITVERSION = $(shell "$(top_srcdir)/version.sh" "$(top_srcdir)") +-relnotes = doc/RELEASE_NOTES_3_2_1 + bumblebeedconfdir = $(sysconfdir)/bumblebee + AM_CPPFLAGS = ${regular_CPPFLAGS} \ + -DCONFIG_FILE='"$(bumblebeedconfdir)/bumblebee.conf"' \ +@@ -286,7 +284,6 @@ + + noinst_SCRIPTS = scripts/systemd/bumblebeed.service \ + scripts/upstart/bumblebeed.conf $(am__append_1) +-bin_SCRIPTS = scripts/bumblebee-bugreport + xconfddir = $(bumblebeedconfdir)/xorg.conf.d + xconfd_DATA = conf/xorg.conf.d/10-dummy.conf + CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS) \ +@@ -294,10 +291,10 @@ + # for laziness include all headers found + EXTRA_DIST = scripts/systemd/bumblebeed.service.in \ + scripts/upstart/bumblebeed.conf.in \ +- conf/99-bumblebee-nvidia-dev.rules conf/bumblebee.conf.in \ +- conf/xorg.conf.nvidia conf/xorg.conf.nouveau $(xconfd_DATA) \ +- README.markdown scripts/bash_completion/bumblebee \ +- scripts/bumblebee-bugreport.in $(relnotes) version.sh src/*.h \ ++ conf/bumblebee.conf.in \ ++ conf/xorg.conf.nouveau $(xconfd_DATA) \ ++ scripts/bash_completion/bumblebee \ ++ 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 +@@ -309,12 +306,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-bumblebee-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 |