%define git 1 %define gitdate 20120413 # Use Nvidia proprietary driver by default %bcond_without nvidia Name: bumblebee Summary: Bumblebee - support for NVidia Optimus laptops on Linux! Group: System/Kernel and hardware Version: 3.0 Release: %mkrel 4 License: GPLv3 URL: https://github.com/Bumblebee-Project/bumblebee # source from git repo git://github.com/Bumblebee-Project/Bumblebee.git # we need to change to develop branch to allow changing to nouveau without # using nvidia paths Source0: https://github.com/downloads/Bumblebee-Project/Bumblebee/%{name}-%{!?git:%{version}}%{?git:%{gitdate}}.tar.%{!?git:xz}%{?git:gz} BuildRequires: X11-devel BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(libbsd) BuildRequires: help2man Requires(pre): update-alternatives Requires(post): systemd-units Requires(preun):systemd-units Requires: virtualgl %if %{with nvidia} Requires: x11-driver-video-nvidia-current %else Requires: x11-driver-video-nouveau %endif Requires: kmod(bbswitch) Requires: kmod(acpi_call) %description Bumblebee daemon is a rewrite of the original Bumblebee service, providing an elegant and stable means of managing Optimus hybrid graphics chipsets. A primary goal of this project is to not only enable use of the discrete GPU for rendering, but also to enable smart power managementof the dGPU when it's not in use. %files %doc README.markdown doc/RELEASE_NOTES_3_0 %{_sysconfdir}/bash_completion.d/bumblebee %dir %{_sysconfdir}/bumblebee/ %config(noreplace) %{_sysconfdir}/bumblebee/bumblebee.conf %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nouveau %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nvidia /lib/systemd/system/bumblebeed.service %{_sbindir}/bumblebeed %{_bindir}/optirun %{_bindir}/bumblebee-bugreport %{_mandir}/man1/bumblebeed.1.* %{_mandir}/man1/optirun.1.* %pre %_pre_groupadd %{name} if [ "$1" -eq "1" ];then %if %{with nvidia} /usr/sbin/update-alternatives --set gl_conf %{_sysconfdir}/nvidia-current/ld.so.conf %else /usr/sbin/update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf %endif fi %post %_post_service bumblebeed # Simple: still needs this since in release 3 services were not set # enabled and seams that still isnt properly handeled in %%_post_service if [ $1 -eq 2 ]; then # Enable (but don't start) the unit by default /bin/systemctl enable bumblebeed.service fi %preun %_preun_service bumblebeed %postun %_postun_groupdel %{name} #-------------------------------------------------------------------- %prep %setup -q%{?git:n %{name}} # Fix screen for Nvidia sed -i 's#DFP#CRT-0#g' conf/xorg.conf.nvidia %build %{?git:NOCONFIGURE=1 autoreconf -fi} %configure2_5x \ %if %{with nvidia} CONF_DRIVER=nvidia \ CONF_DRIVER_MODULE_NVIDIA=nvidia-current \ %endif %ifarch x86_64 CONF_LDPATH_NVIDIA=%{_prefix}/lib/nvidia-current:%{_libdir}/nvidia-current \ CONF_MODPATH_NVIDIA=%{_prefix}/lib/nvidia-current/xorg,%{_libdir}/nvidia-current/xorg,%{_prefix}/lib/xorg/modules,%{_libdir}/xorg/modules,%{_prefix}/lib/xorg/extra-modules,%{_libdir}/xorg/extra-modules %else CONF_LDPATH_NVIDIA=%{_prefix}/lib/nvidia-current \ CONF_MODPATH_NVIDIA=%{_prefix}/lib/nvidia-current/xorg,%{_prefix}/lib/xorg/modules,%{_prefix}/lib/xorg/extra-modules %endif %make %install rm -rf %{buildroot} %makeinstall_std install -m644 -D scripts/systemd/bumblebeed.service %{buildroot}/lib/systemd/system/bumblebeed.service %changelog * Fri Apr 13 2012 Simple 3.0-4 - seams that systemd macros work properly so lets use them - add requires for scriplets - fix source link * Fri Apr 13 2012 Simple 3.0-3 - move to develop branch (more bug fixes) * Mon Mar 19 2012 Simple 3.0-2 - set to build with nvidia proprietary driver by default - clean scriptlets since systemd service is handled by default - clean SysVinit service since systemd is used by default - main systemd default main dir is not in /etc * Mon Mar 19 2012 Simple 3.0-1 - 3.0 (from git), initial package