/[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 602744 - (show annotations) (download)
Wed Mar 12 23:18:25 2014 UTC (10 years, 6 months ago) by akien
File size: 5498 byte(s)
Restrict nvidia-settings-bumblebee script to bumblebee-nvidia only (and not bumblebee-nouveau)
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 9
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 %if "%{?distro_section}" == "nonfree"
115 %{_bindir}/nvidia-settings-bumblebee
116 %endif
117 %{_bindir}/optirun
118
119 #--------------------------------------------------------------------
120 %prep
121 %setup -q
122
123 %build
124 %configure2_5x --with-udev-rules=%{_udevrulesdir} \
125 CONF_BRIDGE=primus \
126 %if "%{?distro_section}" == "nonfree"
127 CONF_DRIVER=nvidia \
128 CONF_DRIVER_MODULE_NVIDIA=nvidia-current \
129 %else
130 CONF_DRIVER=nouveau \
131 %endif
132 %ifarch x86_64
133 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current:%{_usr}/lib/nvidia-current \
134 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_usr}/lib/nvidia-current/xorg,%{_libdir}/xorg/modules,%{_usr}/lib/xorg/modules \
135 CONF_PRIMUS_LD_PATH=%{_libdir}/primus:%{_usr}/lib/primus
136 %else
137 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current \
138 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_libdir}/xorg/modules \
139 CONF_PRIMUS_LD_PATH=%{_libdir}/primus
140 %endif
141
142 %make CFLAGS="%{optflags}"
143
144 %install
145 %if "%{?distro_section}" == "nonfree"
146 install -D -m644 conf/bumblebee.conf %{buildroot}%{_sysconfdir}/bumblebee/bumblebee.conf
147 install -D -m755 bin/bumblebeed %{buildroot}%{_sbindir}/bumblebeed
148 install -D -m755 bin/optirun %{buildroot}%{_bindir}/optirun
149
150 # Create nvidia-settings launcher script
151 cat > nvidia-settings-bumblebee << EOF
152 #!/bin/sh
153 optirun -b none %{_libdir}/nvidia-current/bin/nvidia-settings -c :8
154 EOF
155 install -D -m755 nvidia-settings-bumblebee %{buildroot}%{_bindir}/nvidia-settings-bumblebee
156
157 %else
158 %makeinstall_std
159 install -D -m644 scripts/systemd/bumblebeed.service %{buildroot}%{_unitdir}/bumblebeed.service
160 %endif

  ViewVC Help
Powered by ViewVC 1.1.30