/[packages]/backports/4/bumblebee/current/SPECS/bumblebee.spec
ViewVC logotype

Annotation of /backports/4/bumblebee/current/SPECS/bumblebee.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 602617 - (hide annotations) (download)
Wed Mar 12 14:10:30 2014 UTC (10 years, 1 month ago) by akien
File size: 5411 byte(s)
Add nvidia-settings launcher script
1 akien 585500 # 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 shlomif 261203
10 akien 584591 Name: bumblebee
11     Summary: Support for NVIDIA Optimus laptops on Linux
12     Group: System/Kernel and hardware
13     Version: 3.2.1
14 akien 602617 Release: %mkrel 6
15 akien 584591 License: GPLv3+
16     URL: https://github.com/Bumblebee-Project/bumblebee
17 shlomif 261203 # source from git repo git://github.com/Bumblebee-Project/Bumblebee.git
18 akien 584591 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 shlomif 261203 Requires(preun):systemd-units
27 akien 585500 Requires: %{name}-bin
28 akien 591363 # 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 akien 584591 Requires: kmod(bbswitch)
33 shlomif 261203
34     %description
35 akien 584591 Bumblebee is an effort to make NVIDIA Optimus enabled laptops work in
36 akien 591362 GNU/Linux systems. These laptops are built in such a way that the NVIDIA
37 akien 584591 graphics card can be used on demand so that battery life is improved and
38     temperature is kept low.
39 shlomif 261203
40 akien 584591 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 akien 585512 display that runs on the integrated graphics. The ability to use discrete
44 akien 584591 graphics depends on the driver: open source nouveau and proprietary nvidia.
45    
46 akien 585500 %if "%{?distro_section}" != "nonfree"
47 shlomif 261203 %files
48 akien 565729 %doc README.markdown doc/RELEASE_NOTES_3_2_1
49 shlomif 261203 %{_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 akien 585500 %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.d/10-dummy.conf
54 akien 591362 %{_udevrulesdir}/99-bumblebee-nvidia-dev.rules
55 akien 585515 %{_unitdir}/bumblebeed.service
56 shlomif 261203 %{_bindir}/bumblebee-bugreport
57     %{_mandir}/man1/bumblebeed.1.*
58     %{_mandir}/man1/optirun.1.*
59    
60     %pre
61     %_pre_groupadd %{name}
62 shlomif 265738 if [ "$1" -eq "1" ];then
63     users=$(getent passwd | awk -F: '$3 >= 500 && $3 < 60000 {print $1}')
64     for user in $users; do
65 shlomif 261203 gpasswd -a $user bumblebee
66 shlomif 265738 done
67 shlomif 261203 /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 shlomif 265738 if [ "$1" -ge "1" ]; then
75 shlomif 261203 # 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 shlomif 265738 if [ "$1" -eq "0" ];then
88     /usr/sbin/groupdel bumblebee
89     fi
90 akien 585500 %endif
91 shlomif 261203
92 akien 585500 %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 akien 591363 Requires: primus-nvidia
99 akien 585500 Conflicts: %{name}-nouveau
100     %else
101     Requires: x11-driver-video-nouveau
102 akien 591363 Requires: primus-nouveau
103 akien 585500 Conflicts: %{name}-nvidia
104     %endif
105 akien 585512 Provides: %{name}-bin = %{version}
106 akien 585500
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 akien 602617 %{_bindir}/nvidia-settings
115 akien 585500 %{_bindir}/optirun
116    
117 shlomif 261203 #--------------------------------------------------------------------
118     %prep
119 akien 565728 %setup -q
120 shlomif 261203
121     %build
122 akien 591362 %configure2_5x --with-udev-rules=%{_udevrulesdir} \
123 akien 591363 CONF_BRIDGE=primus \
124 akien 585500 %if "%{?distro_section}" == "nonfree"
125 shlomif 261203 CONF_DRIVER=nvidia \
126 shlomif 265607 CONF_DRIVER_MODULE_NVIDIA=nvidia-current \
127 shlomif 265469 %else
128 shlomif 265607 CONF_DRIVER=nouveau \
129 shlomif 261203 %endif
130     %ifarch x86_64
131 akien 585500 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current:%{_usr}/lib/nvidia-current \
132 akien 591362 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_usr}/lib/nvidia-current/xorg,%{_libdir}/xorg/modules,%{_usr}/lib/xorg/modules \
133 akien 585513 CONF_PRIMUS_LD_PATH=%{_libdir}/primus:%{_usr}/lib/primus
134 shlomif 261203 %else
135 akien 584591 CONF_LDPATH_NVIDIA=%{_libdir}/nvidia-current \
136 akien 591362 CONF_MODPATH_NVIDIA=%{_libdir}/nvidia-current/xorg,%{_libdir}/xorg/modules \
137 akien 585513 CONF_PRIMUS_LD_PATH=%{_libdir}/primus
138 shlomif 261203 %endif
139    
140 akien 565728 %make CFLAGS="%{optflags}"
141 shlomif 261203
142     %install
143 akien 585500 %if "%{?distro_section}" == "nonfree"
144     install -D -m644 conf/bumblebee.conf %{buildroot}%{_sysconfdir}/bumblebee/bumblebee.conf
145     install -D -m755 bin/bumblebeed %{buildroot}%{_sbindir}/bumblebeed
146     install -D -m755 bin/optirun %{buildroot}%{_bindir}/optirun
147     %else
148 shlomif 261203 %makeinstall_std
149 akien 585515 install -D -m644 scripts/systemd/bumblebeed.service %{buildroot}%{_unitdir}/bumblebeed.service
150 akien 585500 %endif
151 akien 602617
152     # Create nvidia-settings launcher script
153     cat > %{buildroot}%{_bindir}/nvidia-settings << EOF
154     #!/bin/sh
155     optirun -b none %{_libdir}/nvidia-current/bin/nvidia-settings -c :8
156     EOF
157     chmod +x %{buildroot}%{_bindir}/nvidia-settings

  ViewVC Help
Powered by ViewVC 1.1.30