/[packages]/cauldron/bumblebee/current/SPECS/bumblebee.spec
ViewVC logotype

Contents of /cauldron/bumblebee/current/SPECS/bumblebee.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 591358 - (show annotations) (download)
Fri Feb 14 18:36:58 2014 UTC (10 years, 8 months ago) by akien
File size: 5160 byte(s)
- Repair buggy modpath introduced in r590786
- Remove inefficient linking of virtualgl's fakelib

1 # Package should be built first against core, and then against nonfree
2 # The core build produces the bumblebee and bumblebee-nouveau RPMs,
3 # whereas the nonfree build produces the bumblebee-nvidia RPM
4 %if "%{?distro_section}" == "nonfree"
5 %define driver nvidia
6 %else
7 %define driver nouveau
8 %endif
9
10 Name: bumblebee
11 Summary: Support for NVIDIA Optimus laptops on Linux
12 Group: System/Kernel and hardware
13 Version: 3.2.1
14 Release: %mkrel 6
15 License: GPLv3+
16 URL: https://github.com/Bumblebee-Project/bumblebee
17 # source from git repo git://github.com/Bumblebee-Project/Bumblebee.git
18 Source0: https://github.com/downloads/Bumblebee-Project/Bumblebee/%{name}-%{version}.tar.gz
19 BuildRequires: pkgconfig(x11)
20 BuildRequires: pkgconfig(glib-2.0)
21 BuildRequires: pkgconfig(libbsd)
22 BuildRequires: help2man
23 Requires(pre): rpm-helper
24 Requires(pre): update-alternatives
25 Requires(post): systemd-units
26 Requires(preun):systemd-units
27 Requires: %{name}-bin
28 # VirtualGl is the default bridge for upstream, the alternative being primus
29 # As of now (3.2.1-5) primus shows better performances and compability, so we use it as default
30 Suggests: virtualgl
31 Suggests: %mklibname virtualgl
32 Requires: kmod(bbswitch)
33
34 %description
35 Bumblebee is an effort to make NVIDIA Optimus enabled laptops work in
36 GNU/Linux systems. These laptops are built in such a way that the NVIDIA
37 graphics card can be used on demand so that battery life is improved and
38 temperature is kept low.
39
40 It disables the discrete graphics card if no client is detected, and start
41 an X server making use of NVIDIA card if requested then let software GL
42 implementations (such as VirtualGL or primus) copy frames to the visible
43 display that runs on the integrated graphics. The ability to use discrete
44 graphics depends on the driver: open source nouveau and proprietary nvidia.
45
46 %if "%{?distro_section}" != "nonfree"
47 %files
48 %doc README.markdown doc/RELEASE_NOTES_3_2_1
49 %{_sysconfdir}/bash_completion.d/bumblebee
50 %dir %{_sysconfdir}/bumblebee/
51 %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nouveau
52 %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nvidia
53 %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.d/10-dummy.conf
54 %{_udevrulesdir}/99-bumblebee-nvidia-dev.rules
55 %{_unitdir}/bumblebeed.service
56 %{_bindir}/bumblebee-bugreport
57 %{_mandir}/man1/bumblebeed.1.*
58 %{_mandir}/man1/optirun.1.*
59
60 %pre
61 %_pre_groupadd %{name}
62 if [ "$1" -eq "1" ];then
63 users=$(getent passwd | awk -F: '$3 >= 500 && $3 < 60000 {print $1}')
64 for user in $users; do
65 gpasswd -a $user bumblebee
66 done
67 /usr/sbin/update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf
68 fi
69
70 %post
71 %_post_service bumblebeed
72 # Simple: still needs this since in release 3 services were not set
73 # enabled and seams that still isnt properly handeled in %%_post_service
74 if [ "$1" -ge "1" ]; then
75 # Enable (but don't start) the unit by default
76 /bin/systemctl enable bumblebeed.service
77 # Start bumblebeed service
78 /bin/systemctl start bumblebeed.service
79 fi
80
81 %preun
82 %_preun_service bumblebeed
83
84 %postun
85 # We need this since "%%_postun_groupdel %%{name}" doesnt remove the group if
86 # set to a user
87 if [ "$1" -eq "0" ];then
88 /usr/sbin/groupdel bumblebee
89 fi
90 %endif
91
92 %package %{driver}
93 Summary: Bumblebee configuration files and binaries for %{driver} driver
94 Group: System/Kernel and hardware
95 Requires: %{name} = %{version}
96 %if "%{?distro_section}" == "nonfree"
97 Requires: nvidia
98 Requires: primus-nvidia
99 Conflicts: %{name}-nouveau
100 %else
101 Requires: x11-driver-video-nouveau
102 Requires: primus-nouveau
103 Conflicts: %{name}-nvidia
104 %endif
105 Provides: %{name}-bin = %{version}
106
107 %description %{driver}
108 Bumblebee configuration files and binaries built against
109 the %{driver} driver.
110
111 %files %{driver}
112 %config(noreplace) %{_sysconfdir}/bumblebee/bumblebee.conf
113 %{_sbindir}/bumblebeed
114 %{_bindir}/optirun
115
116 #--------------------------------------------------------------------
117 %prep
118 %setup -q
119
120 %build
121 %configure2_5x --with-udev-rules=%{_udevrulesdir} \
122 CONF_BRIDGE=primus \
123 %if "%{?distro_section}" == "nonfree"
124 CONF_DRIVER=nvidia \
125 CONF_DRIVER_MODULE_NVIDIA=nvidia-current \
126 %else
127 CONF_DRIVER=nouveau \
128 %endif
129 %ifarch x86_64
130 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current:%{_usr}/lib/nvidia-current \
131 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_usr}/lib/nvidia-current/xorg,%{_libdir}/xorg/modules,%{_usr}/lib/xorg/modules \
132 CONF_PRIMUS_LD_PATH=%{_libdir}/primus:%{_usr}/lib/primus
133 %else
134 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current \
135 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_libdir}/xorg/modules \
136 CONF_PRIMUS_LD_PATH=%{_libdir}/primus
137 %endif
138
139 %make CFLAGS="%{optflags}"
140
141 %install
142 %if "%{?distro_section}" == "nonfree"
143 install -D -m644 conf/bumblebee.conf %{buildroot}%{_sysconfdir}/bumblebee/bumblebee.conf
144 install -D -m755 bin/bumblebeed %{buildroot}%{_sbindir}/bumblebeed
145 install -D -m755 bin/optirun %{buildroot}%{_bindir}/optirun
146 %else
147 %makeinstall_std
148 install -D -m644 scripts/systemd/bumblebeed.service %{buildroot}%{_unitdir}/bumblebeed.service
149 %endif

  ViewVC Help
Powered by ViewVC 1.1.30